Відображення концептуальної схеми на логічну схему БД 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Відображення концептуальної схеми на логічну схему БД



Для відображення інформаційної схеми, одержаної на етапі концептуального проектування, на логічну схему БД необхідно мати:

-розмір БД (кількість сутностей та атрибутів);

-частоту звернення до БД (кількість виконання додатків за одиницю часу);

-правила побудови логічних схем БД для наданих у розпорядження проектувальника СКБД;

-перелік додатків з вказівкою даних, які використовуються;

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

При відображенні інформаційної системи за допомогою реляційної моделі даних кожний прямокутник схеми для ER – моделі предметної області відображається таблицею, яка є одним відношенням. При цьому слід враховувати обмеження на розмір таблиць, які накладає конкретна СКБД.

Інформаційні об'єкти (сутності) будуть відповідати найменуванням першого рівня меню, атрибути сутності – другому рівню меню.

Нехай на етапі концептуального проектування було складено дворівневе меню:

 

 

І рівень 1. Споживач 2. Виріб 3. Склад 4. Виробник 5. Заява   ІІ рівень  
1. Споживач 1.1 Адреса 1.2 Телефон 1.3 Профіль магазину   2. Виріб 2.1 Найменування 2.2 Вартість 2.3 Артикул 2.4 Шифр 2.5 Матеріал  
3. Склад 3.1 № складу 3.2 Адреса 3.3 Телефон 3.4 Профіль 4. Виробник 4.1 Найменування 4.2 Адреса 4.3 Телефон 4.4 Профіль
5. Заява 5.1 № заяви 5.2 Дата 5.3 Найменування виробу  

 


Проведемо відображення концептуальної схеми на реляційну схему та зробимо оцінку необхідного об'єму пам'яті для зберігання БД. В результаті отримаємо наступні відношення:

 

Відношення СПОЖИВАЧ

Найменування Адреса Телефон Профіль магазину
       

 

На одну таблицю необхідно 20+30+7+23=80 байт. Усього споживачів 200, тобто на зберігання всіх таблиць з заданим відношенням потрібно 80*200=16000 байт.

 

Відношення ВИРІБ

Найменування Вартість Артикул Шифр Матеріал
         

 

На одну таблицю необхідно 30+5+5+5+15=60 байт. Усього виробів 400, тобто на зберігання всіх таблиць з заданим відношенням потрібно 60*400=24000 байт.

 

Відношення СКЛАД

№ складу Адреса Телефон Профіль
       

 

Одна таблиця займає 60 байт. Усього складів 40, у підсумку 60*40=2400 байт.

 

Відношення ВИРОБНИК

Найменування Адреса Телефон Профіль
         

 

Одна таблиця займає 70 байт. Усього підприємств – виробників 15, у підсумку 70*15=1050 байт.

Відношення ЗАЯВА

№ заяви Дата Найменування виробу
     

 

Одна таблиця займає 41 байт. Усього заяв 1000, у підсумку 41*1000=41000 байт.

 

Таким чином, у першому наближенні на зберігання БД необхідно 16000+24000+2400+1050+41000=84450 байт.

Після визначення всіх відношень необхідно зробити нормалізацію бази даних, яка міститься в декомпозиції вихідних відношень БД на інші, більш дрібні та прості відношення.

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

 

 

Контрольні питання

1. На які етапи поділяється процес логічного проектування бази даних?

2. Якими розуміннями слід керуватися при виборі СКБД?

3. Які моделі даних існують?

4. Що називається об'єктним відношенням?

5. Що називається зв'язковим відношенням?

6. Яким чином виробляється відображення концептуальної моделі на реляційну модель даних?

 


Основи Мови структурованих запитів SQL

Типи даних

SQL підтримує основні типи даних, які наведені в таблиці 4.1.

 

Таблиця 4.1 –Типи даних

Тип даних Розмір Опис
     
BINARY 1 байт на знак У полі цього типу можуть зберігатися дані будь-якого типу Дані відобража­ються в тому ж вигляді, у якому вони вводяться в це поле.
BIT 1 байт Значення «Так» (Yes) і «Ні» (No), а також поля, що містять одне з двох можливих значень.
TINYINT 1 байт Ціле значення від 0 до 255.
MONEY 8 байтів Грошовий
DATETIME 8 байтів Дата або час; припустимий будь-який рік від 100 до 9999.
UNIQUEIDENTIFIER 128 бітів Унікальний ідентифікатор, який використовується при викликах вилучених процедур.
REAL 4 байти Число з крапкою, що плаває, та одинарною точністю
FLOAT 8 байтів Число з крапкою, що плаває, та подвійною точністю
SMALLINT 2 байти Коротке ціле від –32 768 до 32 767 (див. «Примітки»).
INTEGER 4 байти Довге ціле від –2 147 483 648 до 2 147 483 647.
DECIMAL 17 байтів Тип даних для збереження точних числових значень від 1028 - 1 до 1028 - 1.

Продовження таблиці 4.1

     
TEXT 2 байти на знак Від 0 до 2,14 Гбайт (поле МЕМО)
IMAGE Не обмежено Від 0 до 2,14 Гбайт. Використову­ється для об'єктів OLE.
CHARACTER 2 байти на знак Від 0 до 255 знаків.

 

Окремі версії мови SQL мають певні відмінності. У таблиці 4.2 наведені типи даних ANSI SQL, еквівалентні ним типи даних мови SQL ядра бази даних Microsoft Jet і припустимі синоніми. Крім того, представлені еквівалентні типи даних Microsoft® SQL Server™.


Таблиця 4.2 – Типи даних окремих версій SQL

Типи даних ANSI SQL Типи даних SQL Microsoft Jet Синонім Типи даних Microsoft SQL Server
BIT, BIT VARYING BINARY   VARBINARY, BINARY VARYING BIT VARYING BINARY, VARBINARY
Не підтримується BIT   BOOLEAN, LOGICAL, LOGICAL1, YESNO BIT
Не підтримується TINYINT INTEGER1, BYTE TINYINT
Не підтримується COUNTER AUTOINCREMENT Не підтримується
Не підтримується MONEY CURRENCY MONEY
DATE, TIME, TIMESTAMP DATETIME DATE, TIME DATETIME
Не підтримується UNIQUEIDENTIFIER GUID UNIQUEIDENTIFIER
DECIMAL DECIMAL NUMERIC, DEC DECIMAL
REAL REAL SINGLE, FLOAT4, IEEESINGLE REAL
DOUBLE PRECISION, FLOAT FLOAT DOUBLE, FLOAT8, IEEEDOUBLE, NUMBER FLOAT
SMALLINT SMALLINT SHORT, INTEGER2 SMALLINT
INTEGER INTEGER LONG, INT, INTEGER4 INTEGER
INTERVAL Не підтримується   Не підтримується
Не підтримується IMAGE LONGBINARY, GENERAL, OLEOBJECT IMAGE
Не підтримується TEXT LONGTEXT, LONGCHAR, MEMO, NOTE, NTEXT TEXT
CHARACTER, CHARACTER VARYING, NATIONAL CHARACTER, NATIONAL CHARACTER VARYING CHAR TEXT(n), ALPHANUMERIC, CHARACTER, STRING, VARCHAR, CHARACTER VARYING, NCHAR, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING CHAR, VARCHAR, NCHAR, NVARCHAR

 


Класифікація команд SQL

Команди SQL використовуються для виконання різноманітних дій над реляційними БД. Для зручності роботи вони розділяються на наступні групи (табл.. 4.3):

– команди визначення даних (Data Definition Commands);

– команди маніпуляції даними (Data Manipulation Commands);

– команди вибірки даних (Data Query Commands);

– команди керування транзакціями (Transaction Control Commands);

– команди керування даними (Data Control Commands)

Таблиця 4.3 – Команди мови SQL

 

Команда Призначення
   
Команди визначення даних
alter table Змінює структуру таблиці
create index Створює індекс
create table Створює таблицю
create view Створює подання
Drop Вилучає таблицю, індекс, подання
Команди маніпуляції даними
Delete Видаляє запису таблиці
Insert Добавляє запису в таблицю
Update Змінює дані таблиці
Команда вибірки даних
Select  
Команди керування транзакціями
commit Робить зміни, проведені з початку транзакції, постійними
rollback Відкочує всі проведені зміни до крапки зберігання або до початку транзакції
savepoint Встановлює контрольну крапку, до котрого згодом можна буде виконати відкат

Продовження таблиці 4.3

 

   
Команди керування даними
check database Перевіряє цілісність бази даних
grant Надає привілеї
revoke Скасовує надані раніше привілеї

 

Створення таблиць

Основний формат

Щоб створити таблицю треба зробити, щонайменше, наступне.

– задати ім'я таблиці;

– задати імена складових її стовпчиків;

– визначити тип даних для кожного стовпчика;

– визначити (або використовувати по умовчанню) нульовий статус для кожного стовпчика - припускається або забороняється використання в стовпчику нульових значень.

 

CREATE TABLE ім'я_таблиці (ім'я_стовпчика тип_даних [NULL | NOT NULL] [, ім'я_стовпчика тип_даних [NULL | NOT NULL] ] …);  

 

Статус стовпчика NOT NULL означає обов'язкове заповнення відповідного стовпчика. Статус NULL - означає, що значення стовпчика можуть бути не визначені Наприклад,

 

create table customs (name varchar(25) not null, adress varchar(35) not null, phone char(8) null);

 

Типи даних char і varchar відрізняються тим, що для даних типу char виділяється дисковий простір фіксованої довжини незалежно від реальної потреби, а для даних типу varchar дисковий простір виділяється по мірі необхідності в рамках зазначеного розміру, що дозволяє заощаджувати дисковий простір.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 181; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.82.79 (0.043 с.)