Програмування ужитків баз даних зі сторони сервера

Створення вжитків зі сторони сервера баз даних. Оголошення обмежень цілісності в таблиці визначень або з використанням механізму тригерів баз даних. Описання мови команд SQL*Plus як інтерактивної системи, невід'ємної для бази даних Oracle і вжитків.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 09.08.2011
Размер файла 17,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Реферат

На тему:

"Програмування ужитків баз даних зі сторони сервера"

План

1. Вжитки зі сторони сервера баз даних

2. Оголошення обмежень цілісності

3. SQL*PlusSystem

Висновок

Глосарій

1. Вжитки зі сторони сервера баз даних

Коли створюється вжиток ми маємо прийняти рішення як поділити на серверну частину і клієнтську частину. Немає сумнівів, що збереження даних і механізми для виконання команд SQL повинні зберігатися на серевері , а „дружній користувацький" інтерфейс у клієнтській частині. Оскільки дані обробляються, то на це існують різні погляди. З точки зору баз даних краще, щоб обробка відбувалася на сервері, де є можливість централізовано контролювати цілісність даних. З точки зору користувацького інтерфейсу буде краще, щоб обробка відбувалася на клієнтській частині, де є можливим точно діагностувати і обробляти помилки.

2. Оголошення обмежень цілісності

Обмеження цілісності можуть перевірятися з обидвох сторін і клієнта і сервера. Більш природнім розташуванням для цього є сторона сервера баз даних, котра розпорядиться всіма можливими проходами вжитків в базі даних. Є кращим мати один механізм, котрий гарантує обмеження цілісності буде постійним, ніж багато окремих клієнтських механізмів.

Є два основних методи для визначення обмежень цілісності на сервері: з використанням оголошення обмежень цілісності - в таблиці визначень (в CREATE TABLE і ALTER TABLE) або з використанням механізму тригерів баз даних про що буде йти мова в Лекції 6.

Ми вже дещо розбиралися з обмеженням цілісності в Лекції 1. Це було представлено як частина команд CREATE TABLE і ALTER TABLE. На даний момент ми отримаємо більш детальний опис як частину програмного забезпечення вжитків, котра міститься на сервері.

Метою обмежень цілісності є гарантування того, що дані збережені в базі даних точно відтворять реальний світ для якого була створена баз даних. Система управління базою даних забезпечує що обмеження цілісності залишається в силі протягом усіх операцій, які перетворюють базу даних: користувацькі транзакції, тригери баз даних, завантаження і імпорт в базі даних.

Існує два типи оголошення обмежень:

entityintegrityconstraints,

referentialintegrityconstraints.

Entityintegrityconstraints обмеження можливих значень, які можуть зустрітися в рядку таблиці. Існують наступні обмеження entityintegrityconstraints:

Обмеження первинного ключа PRIMARY KEY - значення в визначених стовпцях унікально ідентифікують рядок всієї таблиці. Псевдо значення NULL недопустимий в стовпцях первинного ключа. Унікальний індекс автоматично створюється в стовпцях первинного ключа. Може бути тільки один первинний ключ для однієї таблиці.

Обмеження унікального ключа UNIQUE - значення в визначених стовпцях унікально ідентифікують рядок всієї таблиці. Псевдо значення NULL допустимий в стовпцях унікального ключа. Унікальний індекс автоматично створюється в стовпцях унікального ключа. Може бути більше ніж один первинний ключ для однієї таблиці.

NOT NULL обмеження - псевдозначення NULL не допустиме в стовпцях.

CHECK обмеження - умова, котра повинна зустрічатися для всіх рядків таблиці. Вона може не включати функції, котрі змінююься в часі такі як SysdateorUser. Може включати одне або більше імен стовпців.

Обмеження цілісності referential забезпечує те, що множина значень в стовпцях зовнішнього ключа є завжди підмножиною множини значень, котрі належать первинному чи унікальному ключу. Оскільки значення первинного чи унікального ключа унікально визначають об'єкти тому зовнішній ключ завжди маркує існуючи об'єкт або NULL. Система забезпечує, що об'єкти відмічені зовнішнім ключем завжди існують незалежно від усіх можливих операцій в таблицях де первинний, унікальний і зовнішній ключ містяться.

Коли визначено зовнішній ключ ми не можемо посилати ні один синонім до таблиці, яка розміщена в віддаленій базі даних. Це визначення автоматично не створює індекс як наприклад первинний і унікальний ключ. Тому зовнішній ключ має важливе значення коли об'єднуються таблиці, розробник баз даних повинен спланувати створення індексу в зовнішньому ключі з використанням команди CREATE INDEX.

Опис обмеження цілісності може бути визначений двома шляхами: разом з визначення стовпця на рівні стовпця (atthecolumnlevel) або поза визначенням стовпця на рівні таблиці (atthetablelevel).

Нижче є синтаксис для визначення на рівні стовпця:

[NOT] NULL

{UNIQUE|PRIMARY KEY}

CHECK (condition)

REFERENCES table[(column)][ON DELETE CASCADE]

REFERENCES table[(column)][ON DELETE SET NULL]

Синтаксис для обмежень визначений як рівень таблиці(atthetablelevel) є розширенням визначення на рівні стовпця ( atthecolumnlevel):

{UNIQUE|PRIMARY KEY} (column,…)

CHECK (condition)

FOREIGN KEY (column,…) REFERENCES table(column,…)[ON DELETE [CASCADE|SET NULL]]

В обидвох випадках ми можемо бути попереду з оператором:

CONSTRAINT constraints_name

Первинний ключ, який містить один стовпець може бути створений як на рівні стовпця так і на рівні таблиці. Однак коли первинний ключ містить більше ніж один стовпець, ключ може бути створений тільки з використанням обмежень визначених на рівні таблиці що показано нижче:

CREATE TABLE Loan(

Acc_num NUMBER(6,0),

Loan_num NUMBER(6,0),

Loan_type VARCHAR2(8) CONSTRAINT Loan_type_ck

CHECK (Loan_type IN ('CAR', 'HOUSE', 'PERSONAL')),

Size NUMBER(8,0) CONSTRAINT Size_nn NOT NULL,

Loan_date DATE DEFAULT Sysdate,

Accept_by VARCHAR2(25)

CONSTRAINT Akc_fk REFERENCES Managers(Man_surname),

CONSTRAINT Loan_pk PRIMARY KEY(Acc_num, Loan_num),

CONSTRAINT Account_fk FOREIGN KEY(Acc_num) REFERENCES Clients(Acc_num)

);

В прикладі була використана спеціальна конструкція для визначення даних по замовчуванню:

DEFAULT Sysdate

Встановлює кредитну дату для поточного дня - день коли інформація про кредит буде занесена в базу даних. В визначенні значень по замовчуванню можуть бути константи і також функції SQL такі як User, Sysdate.

розглянемо інший приклад.

CREATE TABLE Employees(

Empl_id NUMBER(7,0) PRIMARY KEY,

Ssn NUMBER(11,0) UNIQUE NOT NULL,

Name VARCHAR2(25) NOT NULL,

Surname VARCHAR2(25) NOT NULL,

Boss NUMBER(7,0)

CONSTRAINT Boss_fk REFERENCES Employees,

Department_name VARCHAR2(35),

Place VARCHAR2(35),

Salary NUMBER(8,2),

Bonus NUMBER(8,2),

CONSTRAINT Dep_fk FOREIGN KEY (Department_name, Place) REFERENCES Departments(Name, City),

CONSTRAINT P_ck CHECK(0.1*Salary<=Bonus AND Bonus<=0.5*Salary)

);

В цьому випадку умова CHECK правильно говорить що рядки підлягають обидвом значенням True або Null - є допустимі- наприклад в CONSTRAINT P_ck де Bonus дорівнює Null. Система допускає не тільки для рядка зі значенням з'являтися False. Зауважимо, що в поданій вище команді маємо приклад зовнішнього ключа (Boss)який посилається на первинний ключ (Employee_id) в тій самій таблиці.

Referentialactions

По замовчуванню семантики команди DELETE, якщо порушується умова існування об'єкта відмічена значенням зовнішнього ключа, помилка може бути винесена і команда не буде завершена. По замовчуванню називають опцією RESTRICT. Коли ми використовуєм опцію ON DELETE CASCADE, рядок з батьківської таблиці вилучається разом з усіма залежними рядками з похідної таблиці, де є відмічено в значеннях зовнішнього ключа що рядок буде вилучений.

Коли ми використовуємо опцію ON DELETE SET NULL, рядок з батьківської таблиці вилучається і посиланням до залежних рядків з похідної таблиці отримують значення Null. В Standard існує додаткова опція для посилальних дій, яка не є підтверджена Oracle:

ON DELETE SET DEFAULT

в якій вводиться значення по замовчуванню для зовнішнього ключа замість Null.

В Standard є аналогічна посилальна дія для UPDATE, яка не є підтверджена Oracle:

ON UPDATE [CASCADE|SET NULL|SET DEFAULT]

В Oracle ці додаткові дії запрограмовуються з використанням тригерів баз даних (Лекція 6).>

Зовнішній ключ і NULL

Коли зовнішній ключ містить кілька стовпців і псевдозначенняNull є в одному з них тоді система допускає рядок без будь-яких додаткових перевірок. Якщо ми хочемо створити семантику, де всі значення які складають зовнішній ключ є Null або ні одне, тоді ми маємо гарантувати це використовуючи належну умову CHECK. Наприклад , щоб гарантувати цю умову для стовпців A і B потрібно використати наступну умову CHECK:

CONSTRAINT A_B_ck CHECK (((A IS NOT NULL) AND (B IS NOT NULL)) OR ((A IS NULL) AND (B IS NULL)))

Oперації над обмеженням цілісності

Обмеження цілісності додається відразу новими стовпцями з використанням команди ALTER TABLE, наприклад:

ALTER TABLE Emp

ADD (CONSTRAINT Sal_ck CHECK (sal>5000));

Використовуючи команду ALTER TABLE ми можемо обмеження включити і виключити (onandoff). ENABLE оператор включає обмеження (on):

ALTER TABLE Emp ENABLE CONSTRAINT Sal_ck;

DISABLE оператор виключає обмеження (off):

ALTER TABLE Emp DISABLE CONSTRAINT Sal_ck;

DROP оператор вилучає обмеження:

ALTER TABLE emp DROP CONSTRAINT Sal_ck;

Від цього моменту і до кінця Лекції 6 ми зосередимося на конструкціях доступних Oracle і більше не будемо про це нагадувати.

3. SQL*PlusSystem

SQL*Plus є мовою команд і в той же час інтерактивною системою, яка дозволяє введення і виконання команд мови SQL, скриптів складених на інструкціях SQL і SQL*Plus, блоків мови PL/SQL і виклик процедур. Це використовується для створення бази даних, внесення змін в базі і тестування процедур і частин ужитків. Кожному доступне створення простого ужитку у формі командних скриптів на мові SQL*Plus розподіл з введенням даних, пошук даних і роздрук звітів - ці дії зазвичай набагато краще здійснювати спеціалізованими програмами Oracle такими як OracleForms і OracleReports, але вони є більш складні і потребують сильнішого апаратного забезпечення. SQL*Plus є набагато простіша і може працювати на кожному комп'ютері. Кожен програміст Oracle і адміністратор баз даних використовує її.

В SQL*Plus є можливим оголосити два типи змінних: bind і substitution , які можуть використовувати команди SQL і PL/SQL для передачі значень.

Наведемо перелік найбільш важливих команд мови SQL*Plus, які можуть використовуватися для створення бази даних і ужитків.

START file_name - виконує SQL і SQL*Plus командний скрипт (можна використовувати абревіатуру @ замість START);

ED file_name - відкриває стандартний текстовий редактор, наприклад notepad;

SPOOL file_name - записує команди і їхній наступний результат у файл з отриманим іменем;

SPOOL OFF - закриває недавно відкритий SPOOL file;

SET PAUSE ON -зупиняє перегляд результатів після виводу на екран;

SET AUTOCOMMIT ON - виконує COMMIT після кожної зміни даних (і не тільки після успішного закінчення транзакції); SET AUTOCOMMIT OFF виключає цю можливість;

SET SERVEROUTPUT ON - показує результати коду PL/SQL на екран (детальніше про це на наступній лекції);

SET PAGESIZE n - встановлює розміри однієї сторінки на n рядків;

HOST command - запускає основною операцією системи command;

EXIT - кінець сесії SQL*Plus - вихід з Oracle;

DESCRIBE name - показує об'єкта (таблицю, перегляд, процедуру, функцію) схему;

EXECUTE procedure_name(...) - запуск процедури;

COLUMN name FORMAT An - встановлює ширину поля виводу тексту на екран на n символів

COLUMN name FORMAT 99999 - встановлює ширину поля виводу числового стовпця - 9 представляє одну десяткову цифру;

VARIABLE X NUMBER (or CHAR(n) or VARCHAR2(n), де n є константою відмінною від 0) - оголошення змінної з іменем X;

EXECUTE:X:= expression - присвоєння значення виразу змінній X. Після встановлення значення, змінній має передувати двокрапка, що використовується в командах SQL і PL/SQL.

PRINT X - вивід значення змінної X;

ACCEPT Variable PROMPT 'Givevalue: ' - створення заміни змінної з іменем Variable і отримання це значення від користувача. Після встановлення значення, заміні має передувати знак & і це може використовуватися в командах SQL, SQL*Plus і PL/SQL.

&user_variable, &&user_variable - означення substitution змінних в командах SQL або SQL*Plus. SQL*Plus замінює значення визначеної користувачем змінної для кожної змінної substitution. Якщо користувацька змінна невизначена, , SQL*Plus підказує кожен раз знаком "&", що значення шукане, і тільки перший раз "&&", що змінна вперше зустрічається.

SET VERIFY OFF - система не викликає значення замінюваних змінних, які використовуються.

Приклади використання bind і substitution змінних буде описано в наступній лекції.

Зауваження.

Версія SQL*Plus, названа iSQL*Plus може використовуватися через Internet (з Webброузера). Нажаль деякі корисні можливості SQL*Plus є недоступні в iSQL*Plus, серед них команди ACCEPT і SPOOL.

Висновок

В цій лекції ми обговорили розділи пов'язані зі створенням вжитків зі сторони сервера. Перший розділ був - оголошення обмеження цілісності - визначений разом з таблицями. Вони перевіряються сервером баз даних протягом всіх операцій з даними. Якщо виконання операцій порушується обмеженнями, сервер генерує виключну ситуацію і не дозволяє завершити операцію.

Другий розділ містив інформацію про інтерактивну систему SQL*Plus - невід'ємну для бази даних Oracle і вжитків.

вжиток сервер база даний

Глосарій

integrityconstraints - визначає умови коректності даних в базі даних. Їх основна частина гарантує, що дані в базі будуть точно відображати реальний світ речей для яких створювалась база даних. Система управління базою гарантує, що ці обмеження є завжди істинні. Є два базових методи визначення обмежень цілісності на сервері: з використанням механізму оголошень обмежень цілісності ( в командах CREATE TABLE і ALTER TABLE )і інший з використанням механізму тригерів бази даних.

entityintegrityconstraints - обмеження цілісності містять рядок значень без посилання до інших рядків.

PRIMARY KEY - обмеження первинного ключа, які потребують щоб значення в стовпці унікально визначали рядок.Значення NULL не може бути в стовпці первинного ключа.

UNIQUE - обмеження унікального ключа, які потребують, щоб значення в стовпці унікально визначали рядок. Значення NULL може бути в стовпцях унікального ключа.

NOT NULL - обмеження виключають значення NULL в стовпці.

CHECK - обмеження у формі умови, яка мусить бути True або Null для усіх рядків таблиці.

referentialintegrityconstraints - обмеження забезпечують. Що множина значень в стовпцях зовнішнього ключа є завжди підмножиною значень відповідного первинного чи унікального ключа.

referentialaction - опис того що робити коли протягом виконання команди DELETE чи UPDATE обмеження цілісності referential порушуються, наприклад CASCADE.

SQL*Plus - мова і в той же час інтерактивна система, у якій можна вводити і виконувати команди мови SQL, скрити які складаються з інструкцій SQL і SQL*Plus, блоки PL/SQL і виклики процедур.

Размещено на Allbest.ru


Подобные документы

  • Бізнес процеси й елементи даних. Специфікація елементів даних. Діаграма класів проектування. Створення та використання об'єктів бази даних. Таблиці, обмеження цілісності, тригери, типові вибірки, представлення, індекси. Типові оператори модифікації даних.

    курсовая работа [255,3 K], добавлен 01.06.2019

  • Створення інформаційних таблиць бази даних. Створення екранних форм як засобу організації інтерфейсу користувача. Створення запитів для вибору, сортування і обчислення з використанням даних однієї таблиці. Оформлення звітів за допомогою команд MS Access.

    лабораторная работа [397,7 K], добавлен 09.09.2010

  • Поняття бази даних та основне призначення системи управління. Access як справжня реляційна модель баз даних. Можливості DDE і OLE. Модулі: Visual Basic for Applications програмування баз даних. Система управління базами даних Microsoft SQL Server 2000.

    реферат [41,2 K], добавлен 17.04.2010

  • Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.

    курсовая работа [1,2 M], добавлен 29.02.2012

  • Використання баз даних та інформаційних систем у сучасному житті. Основні відомості про реляційні бази даних. Зв'язування відносин. Структурована мова запитів SQL. Сутність та загальний опис бази даних "Архітектурна компанія". Приклад створення таблиці.

    курсовая работа [320,7 K], добавлен 19.06.2015

  • Розгляд процесу автоматизації бази даних для довідника астронома. Основи реляційних баз даних для проектування інформаційних систем. Застосування тригерів для забезпечення цілісності даних і реалізації складної бізнес–логіки в системних процедурах.

    курсовая работа [22,3 K], добавлен 12.03.2019

  • Аналіз відомих підходів до проектування баз даних. Моделі "сутність-зв'язок". Ієрархічна, мережева та реляційна моделі представлення даних. Організація обмежень посилальної цілісності. Нормалізація відносин. Властивості колонок таблиць фізичної моделі.

    курсовая работа [417,6 K], добавлен 01.02.2013

  • Вибір технологічного інструментарію для реалізації проекту. Розробка сценаріїв для створення бази даних і базових таблиць. Аналіз забезпечення декларативної цілісності реляційних даних. Особливість створення об'єктів для маніпулювання інформацією.

    курсовая работа [275,7 K], добавлен 17.05.2019

  • Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.

    реферат [36,8 K], добавлен 14.01.2012

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.