частин моделювання підприємства є забезпечення того, щоб у моделі були виявлені і представлені всі відповідні обмеження предметної області.
Найбільш поширеною ступенем зв'язку є двостороння. Двосторонні зв'язку зазвичай позначаються як зв'язку одне одного (1: 1), один до багатьох (1: М) або багато до багатьох (М: N). Також використовується поняття «клас приналежності» примірників суті, він може бути необов'язковим (на ER-діаграмах позначається цифрою 0) - якщо який-небудь екземпляр однієї суті не пов'язаний ні з одним екземпляром іншої сутності, або обов'язковим (1) - якщо всі екземпляри однієї сутності пов'язані хоча б з одним екземпляром іншої сутності.
АвторІмяФаміліяКонтрактКнігаДата подпісаніяДата окончаніяДата оплатыСуммаАвторыКнигаНазваниеРубрикаАвторРедакторОпубликованаРедакторИмяФамилия Рисунок 1 - Сутності і атрибути сутностей.
Визначимо зв'язку між заданими сутностями і класи приналежності:
1) суті «Редактор» і «Книга» мають вигляд зв'язку «один до багатьох»: тобто кожен редактор може редагувати кілька книг, а у кожної книги є один редактор. Сутність «Книга» має обов'язковий клас приналежності, так як не може бути книг не пов'язаних ні з одним редактором.
2) сутності «Книга» і «Контракт» мають вид зв'язку «один до одного» тобто на одну книгу існує один контракт. У якому прописуються гонорари для кожного з авторів. І на один контракт припадає лише одна книга. Сутність «Контракт» має обов'язковий клас приналежності, так як не може бути контрактів без предмета його укладення. «Книга» має обов'язковий клас приналежності, тому не може бути книга, по якій не укладено контракту.
3) сутності «Контракт» і «Автор» мають вигляд зв'язку «один до багатьох», тому один контракт може укладатися з кількома авторами. Кожному з яких призначається свою винагороду. Сутність «Контракт» має обов'язковий клас приналежності, оскільки контракт завжди укладається з автором. «Автор» має клас необов'язковий приналежності, тобто можуть бути автори ще не підписавши контрактів.
Тепер необхідно задати ключі сутностей. Потенційний ключ - атрибут або мінімальний набір атрибутів, який однозначно ідентифікує кожен екземпляр типу сутності. Це означає, що потенційний ключ не може містити значення NULL. Первинний ключ - потенційний ключ, який обраний для однозначної ідентифікації кожного екземпляра сутності певного типу. Вибір первинного ключа сутності здійснюється з урахуванням сумарної довжини атрибутів, мінімальної кількості необхідних атрибутів в ключі, а також наявності гарантій унікальності його значень в поточний момент часу і в осяжному майбутньому, а так само з метою мінімізації часу роботи з рядками.
Таблицям Автор, Редактор, Книга в якості первинних ключів найкраще призначити деякий унікальний числовий ідентифікатор запису: код учасника, код редактора, код книги. Контракт можна ідентифікувати по Автору і Книзі.
1.3 Фізична модель бази даних
Ця модель описує дані засобами конкретної СУБД. На цьому етапі ставлення, розроблене за допомогою перетворених ER-діаграм, перетворюється на таблиці. Головними питаннями фізичного проектування моделі є:
) Оптимізація часу основних запитів;
) Забезпечення безпеки виконання запитів бази даних.
Для підвищення ефективності, тобто для прискорення операцій пошуку або сортування записів таблиці за значенням використовують спеціальні об'єкти, які називаються індексами. Індекс містить набір записи з 2 елементів: значення ключового поля і покажчик на відповідний запис у таблиці. Індекс впорядкований по значенням ключового поля, що дозволяє системі швидко знаходити потрібні значення. У реляційних СУБД таблиці завжди індексуються по полях первинного ключа.
Так як наша проектована база даних «Видавничий дім» не великого обсягу, то індекси використовувати не будемо.
Для прискореного пошуку записів таблиці необхідно уникнути помилок при введенні даних в таблицю. Це можливо застосуванням умов на можливі значення поля. Наприклад, для зручності введення даних для таких полів як грошові суми, дати задаємо певний формат представлення інформації: грошовий з двома знаками після десяткової точки, короткий формат дати.
Забезпечення безпеки баз даних здійснюється на декількох рівнях. По-перше, визначаються групи користувачів або окремі користувачі з різними правами доступу до об'єктів бази даних. По-друге, відбувається збереження файлу бази даних при різних операціях зміни структури бази даних, запитів, створення нових таблиць.
. Реалізація бази даних в СУБД Microsoft Access