КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Логічна модель бази даних
Логічна модель є основою бази даних, вона повинна відображати взаємозв’язки між реляційними таблицями. Між реляційними таблицями можуть бути наступні типи зв’язків 1:1, 1:Б та Б:Б. Найбільшим поширеним зв’язком є зв’язок 1:Б. Зв’язок 1:1 зустрічається рідше, тому що дані між якими існує такий тип зв’язку в переважній більшості випадків входять до складу однієї реляційної таблиці. Зв’язок Б:Б безпосередньо не підтримується в реляційних СУБД. Для реалізації такого зв’язку необхідно створювати додаткову реляційну таблицю, яка буде відігравати роль зв’язкової. Зв’язкова таблиця має обов’язково містити первинні ключі таблиць, між якими встановлюється зв’язок. Розглянемо побудову такої моделі засобами СУБД Microsoft Access. Логічна модель в середовищі СУБД Microsoft Access називається схемою. Для створення зв’язку необхідно, щоб у головній таблиці були визначенні первинні ключі. Встановлення первинного ключа для зв’язаної (підпорядкованої) таблиці не є обов’язковою умовою. Для підпорядкованої таблиці необхідно визначити поле вторинного ключа, тип даних і розмірм якого повинні збігатись з полем первинного ключа головної таблиці. Імена полів первинного та вторинного ключів, між якими встановлюється зв’язок можуть не збігатися. Вторинні ключі відрізняються від первинних тим, що для них допускається дублювання значень. Розглянемо встановлення зв’язку на прикладі двох таблиць. Нехай головна таблиця Виріб вміщує інформацію про продукцію, яка випускається на підприємстві, та її собівартість, а зв’язана з нею підпорядкована таблиця Реалізація відображає дані про продаж цієї продукції різним споживачам протягом місяця. Поле Код виробу в головній таблиці є первинним ключем, оскільки один і той же виріб не може повторюватися у довіднику виробів, тобто значення поля є унікальним. Для побудови зв’язку необхідно визначити головну (первинну) та підпорядковану таблиці. Головною таблицею, з якої виходитиме дуга, буде таблиця, що містить первинний ключ, підпорядкованою таблицею – таблиця зі вторинним ключем. У нашому прикладі головною є таблиця Виріб, а підпорядкованою –Реалізація. Перший параметр, що задається за замовчуванням, створює так зване внутрішнє об’єднання на основі рівності первинного та вторинного ключів таблиць, що зв’язуються. СКБД автоматично визначає тип зв’язку, як 1:Б. Якщо зв’язок виконується між полями, які є первинними ключами, система встановлює зв’язок 1:1. Внутрішнє об’єднання – це найбільш поширений тип зв’язку між таблицями БД. Крім нього, можна створювати ще три типи об’єднань: зовнішнє об’єднання, самооб’єднання та тета-об’єднання. Зовнішнє об’єднання дозволяє відображати в запиті поля всі записи таблиць незалежно від збігу значень ключових полів. Зовнішнє об’єднання буває лівим та правим. Ліве зовнішнє об’єднання поєднує всі записи головної таблиці з унікальним ключовим поле незалежно від того, чи є в зв’язаних полях підпорядкованої таблиці співпадаючі значення. При створенні лівого зовнішнього об’єднання користуються параметром №2 об’єднання таблиць. Розглянемо приклад лівого зовнішнього об’єднання на прикладі двох таблиць: Залишок (Код виробу, Код складу, Дата, Залишок), Видатки (Код виробу, Код складу, Дата, Видано). Поле Код виробу таблиці Залишок є первинним ключем, оскільки на один і той самий виріб може бути представленим у залишках лише один раз, тобто є унікальним. Поле Код виробу в таблиці Видатки є полем вторинного ключа, тобто може дублюватись, бо один і той же виріб може відпускатись зі складу кілька раз навіть протягом однієї дати чи певного звітного періоду. Необхідність створення зовнішнього лівого об’єднання таблиць Залишок та Видатки пояснюється тим, що зі складу продовж певного звітного періоду можуть відпускатися не всі вироби, що були в залишках. Відстежити вироби, по яких не було видатків протягом звітного періоду, неможливо за допомогою внутрішнього об’єднання. При створенні лівого зовнішнього об’єднання система додасть стрілку над дугою, що об’єднує дві таблиці, яка буде орієнтована зліва направо. Праве зовнішнє об’єднання поєднує всі записи підпорядкованої таблиці незалежно від того, чи існують у зв’язаних з ними полях головної таблиці співпадаючі значення. При створенні правого зовнішнього об’єднання користуються параметром №3 об’єднання таблиць. Розглянемо приклад правого зовнішнього об’єднання на прикладі двох таблиць: Залишок (Код виробу, Код складу, Дата, Залишок), Надходження (Код виробу, Код складу, Дата, Надійшло). Поле Код виробу в таблиці Надходження є полем вторинного ключа, тобто може дублюватись, бо один і той же виріб може надходити на склад кілька раз навіть протягом однієї дати чи певного звітного періоду. На склад можуть надходити вироби, яких раніше не було в залишках. Відстежити вироби, що вперше надійшли на склад, можна за допомогою правого зовнішнього об’єднання. При створенні правого зовнішнього об’єднання система додає стрілку над дугою, що об’єднує дві таблиці, і орієнтована справа наліво. Самооб’єднання зв’язує між собою поля однієї таблиці за умови їх збігу. Тета-об’єднання створює обєднання полів двох таблиць за умови нерівності значень полів. Самооб’єднання і тета-об’єднання таблиць не відображаються в схемі даних. Вони використовуються при реалізації запитів і виконуються у вікні таблиці QBE.
Дата добавления: 2015-05-24; Просмотров: 4260; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |