Мал. 6.8 Взаємозв'язок етапів Малюнок проектування 6.8 Вз імосвязь етапів проектування
1 Даталогіческое проектування засноване на моделі логічного рівня і являє собою опис і побудова схем зв'язків між елементами даних безвідносно до їх змісту і середовищі зберігання.
2 Фізичне проектування полягає в описі і побудові схем зберігання даних для певного середовища зберігання. На цьому етапі здійснюється вибір типу носія, спосіб організації даних, методів доступу, визначення параметрів фізичного блоку, управління роботою пам'яті, зчитування даних і т.д.
3 Зовнішнє моделювання полягає в описі і побудові схем або логічних структур з точки зору конкретного користувача. На цьому етапі формалізуються допустимі режими обробки даних в рамках даної схеми або подсхеми. Для реляційних моделей це опис процедури View конкретного додатка.
4 Інфологіческое проектування полягає в описі і побудові схем відображень предметної області, виконаному без орієнтації на використовувані надалі програмні і технічні засоби.
6.5 Інфологіческое моделювання та проектування
Инфологическая модель виконується з використанням спеціальних штучно формалізованих мовних засобів. Основна вимога до Илм - це адекватне відображення предметної області. Додаткові вимоги пов'язані із забезпеченням можливості композиції і декомпозиції моделі.
Илм включає ряд компонентів (рис. 6.9). Центральної компонентою Илм є ER-модель, що описує об'єкти предметної області та зв'язки між ними.
Об'єкти можуть бути простими і складними. Простий це неподільний на складові об'єкт. Складні - це складові, узагальнені та зведені об'єкти.
Складові відповідають відображенню відносини "ціле-частина". Наприклад, виріб-деталі або група-студенти і т.д. Спеціальних умовних позначень на схемах немає.
Узагальнений об'єкт відображає наявність зв'язку "род-вид". Наприклад, об'єкти "студент", "аспірант", "школяр" утворюють узагальнений об'єкт "учні" з успадкуванням деяких властивостей. У инфологической моделі підкласи виділяються в явному або неявному вигляді і позначаються трикутником.
Мал. 6.16 Приклад узагальненого об'єкта
Агреговані об'єкти відповідають зазвичай якомусь процесу, до якого залучено інші об'єкти. Наприклад, розглянемо процес поставки деталей заводом-виготовлювачем замовнику.
Агрегований об'єкт в инфологической моделі позначається ромбом. Об'єкт і властивості позначаються як і раніше, або можуть мати і інші схематичні зображення в різних стандартах.
Мал. 6.17 Приклад агрегованого Малюнок 6.16 об'єкта - Приклад агрегованого об'єкта
Малюнок 6.17 - Елементи ЕR-діаграми в різних стандартах: а) CASE ORACLE; б) IDEF
Мал. 6.17 Елементи ER-діаграми в різних стандартах: a - CASE ORACLE; б - IDEF
6.6 Даталогіческое проектування
Кінцевим результатом даталогіческого проектування є опис логічної структури БД на мові опису. У логічній структурі визначаються всі інформаційні одиниці і зв'язку між ними, типи даних і кількісні характеристики. Однак не всі види зв'язків можуть відображатися в ДЛМ, наприклад ті, які не підтримує конкретна СУБД. На етапі розробки ДЛМ визначається склад БД, наприклад, зберігати тільки вихідні дані, а всі похідні можуть бути отримані розрахунковим шляхом в результаті запиту. При відображенні об'єкта в файл виключаються однакові ідентифікатори різних об'єктів, даються нові імена, визначаються кількість і структура файлів.
Важливу роль на цьому етапі відіграє внутрізапісная структура даних (вектори, групи та ін.) І межзапісная структура (реляційна, ієрархічна, мережева).
Для переходу від Илм до реляційної ДЛМ треба виконати наступні операції по заміні ER-типу на опис атрибутів відносин.
1 Простий об'єкт з одиничними властивостями.
ІО1 (Ім'я об'екта1)
R2 (ІО1. С1, С2, С6, С7)
Отримані реляційні відносини будуть перебувати в 4 нормальній формі. Перетворення в пунктах 5, 7 і в 6, 8, 9 мають однакові реляційні схеми.
На малюнках показаний тільки вид заголовків таблиць. Повна даталогіческая модель БД буде включати набір таких таблиць із зазначенням типів даних, довжини змінної, приналежність до первинного або зовнішньому ключу і т.д. і відповідно буде мати більш складний вид. Одночасно треба вказати зв'язки між ключовими атрибутами.
Частина 2 структурована мова ЗАПИТІВ SQL
1 ВСТУП В SQL
SQL символізує собою структурований мову запитів. Це мова, яка дає вам можливість створювати і працювати в реляційних базах даних, які є наборами зв'язаної інформації, що зберігається в таблицях. Перш, ніж ви зможете використовувати SQL, ви повинні зрозуміти, що таке реляційні бази даних.
Те що ви отримали, є основою реляційної бази даних, як і було визначено на початку цього обговорення - а саме, двовимірною (рядок і стовпець) таблицею інформації. Однак реляційні бази даних рідко складаються з однієї таблиці. Така таблиця менше, ніж файлова система. Створивши кілька таблиць взаємозалежної інформації, ви зможете виконати більш складні і потужні операції з вашими даними. Потужність бази даних залежить від зв'язку, яку ви можете створити між фрагментами інформації, а не від самого фрагмента інформації.
1.1 Інтерактивний і вкладений SQL
Є два SQL: інтерактивний і вкладений.
В основному, обидві форми працюють однаково, але використовуються по-різному.
Інтерактивний SQL використовується для функціонування безпосередньо в базі даних, щоб виробляти висновок для використання його замовником. У цій формі SQL, коли ви введете команду, вона зараз же виконається, і ви зможете побачити висновок (якщо він взагалі вийде) - негайно.
Вкладений SQL складається з команд SQL, поміщених усередині програм, які зазвичай написані на деякому іншому мовою (типу Сі або Паскаля). Це робить програми більш потужними і ефективним. Однак, допускаючи ці мови, доводиться мати справу зі структурою SQL і стилем управління даних, який вимагає деяких розширень до інтерактивному SQL. Передача SQL команд у вкладений SQL є видається ( "passed off") для змінних або параметрів використовуваних програмою, в яку вони були вкладені.
2 СТВОРЕННЯ БАЗИ ДАНИХ
2.1 Оператор create database
Для створення БД використовується оператор SQL. що має такий вигляд:
Create
[Length [=] ціле [page [s]]]
[Default character set набор_сімволов] [<вторичный файл>];
[] - необов'язковий елемент; <> - можливі елементи. <вторичный файл> = File "ім'я файлу" [<файлов_информ>] [Вторинний файл]
<файлов_информ> = Length [=] ціле [page [s]] | starting [at [page]]
ціле [файлов_інформ] де "<имя файла>"- специфікація файлу, вякому буде зберігатися БД;
user "ім'я користувача" - перевіряється при з'єднанні користувача з сервером; password "пароль" - перевіряється спільно з ім'ям користувача;
page _ size [=] ціле - розмір сторінки БД користувача в байтах 1024 (за замовчуванням), 2048, 4096
default character set - визначає набір символів застосовуються в БД, за замовчуванням None; file "<имя файла>"- ім'я одного або декількох файлів, в яких буде розташовуватися БД;
starting [at [page]] - якщо БД займає кілька файлів, то ця пропозиція дозволяє визначити з якої сторінки розташовується БД в зазначених файлі;
length [=] ціле [page [s]] - довжина файлу в сторінках. За замовчуванням 75 сторінок, мінімум 50, а максимум обмежений дисковим простором.
У багатофайлову БД найперший файл називається первинним. інші - вторинними. наприклад:
Create database "D: \ BD \ base. Gdb"
file "D: \ BD \ base. gd 1" starting at page 1001 length 500
file "D: \ BD \ base. gd 2".
Тут визначається БД d: \ bd \ base. gdb що складається з 3-х файлів: первинного base. gdb довжиною 1000 сторінок, base. gd 1 довжиною 500 сторінок і base. gd 2 невизначеної довжини.
Якщо для вторинного файлу не вказана довжина, слід вказати, з якої сторінки він повинен починатися.
Розмір сторінки вказується в байтах, наприклад:
Create database "base. Gdb" page _ size 4096.
Збільшення розміру сторінки може призвести до прискорення роботи з БД за рахунок зменшення глибини індексів, зменшення операцій зчитування довгих записів. Але не виправдано коли запити
повертають невелику кількість записів, так як зчитується сторінка цілком і в ній багато зайвих записів.
2.2 Типи записів на прикладі СУБД Interbase
НЕ ВСЕ ТИПИ ЗНАЧЕНЬ, ЯКІ МОЖУТЬ ЗАЙМАТИ ПОЛЯ ТАБЛИЦІ - логічний ОДНАКОВІ. НАЙБІЛЬШ ОЧЕВИДНЕ ВІДМІННІСТЬ - МІЖ ЧИСЛАМИ І ТЕКСТОМ. ВИ НЕ МОЖЕТЕ поміщають ЧИСЛА в алфавітному порядку або віднімається ОДНЕ ІМ'Я З ІНШОГО. ТАК ЯК СИСТЕМИ З реляційної базою даних базується на ЗВ'ЯЗКАХ МІЖ фрагменти інформації, РІЗНІ ТИПИ ДАНИХ ПОВИННІ ЗРОЗУМІЛО ВІДРІЗНЯТИСЯ ДРУГА ВІД ОДНОГО, ТАК ЩОБ ВІДПОВІДНІ ПРОЦЕСИ І ПОРІВНЯННЯ МОГЛИ БУТИ В НИХ ВИКОНАНІ.
У SQL, це робиться за допомогою призначення кожному полю - типу даних, який вказує на тип значення, яке це поле може містити. Всі значення в даному полі повинні мати однаковий тип. Ви часто будете порівнювати деякі або всі значення в даному полі, тому ви можете виконувати дію тільки на певних рядках, а не на всіх. Ви не могли б зробити цього, якби значення полів мали змішаний тип даних.
blob змінний будь-який тип двійкових даних, наприклад файл BMP.
3 ВВЕДЕННЯ ЗНАЧЕНЬ
3.1 Оператор insert
Всі рядки в SQL вводяться з використанням команди модифікації INSERT. У найпростішій формі, INSERT використовує такий синтаксис:
insert into