Мережева модель даних
Мережева модель даних — логічна модель даних, що є розширенням ієрархічного підходу, сувора математична теорія, що описує структурний аспект, аспект цілісності і аспект обробки даних в мережевих базах даних.
Історія
Мережева модель була одним з перших підходів, які використовувалися при створенні баз даних в кінці 50-х - початку 60-х років. Активним пропагандистом цієї моделі був Чарльз Бахман. Ідеї Бахмана послужили основою для розробки стандартної мережевої моделі під егідою організації CODASYL. Після публікації звітів робочої групи цієї організації в 1969, 1971 і 1973 роках, багато компаній привели свої мережеві бази даних більш-менш у відповідність зі стандартами CODASYL. До середини 70-х років головним конкурентом мережевих баз даних була ієрархічна модель даних, представлена провідним продуктом компанії IBM в області баз даних - IBM IMS. В кінці 60-х років Едгаром Коддом була запропонована реляційна модель даних і після довгих і наполегливих суперечок з Бахманом[1] реляційна модель набула великої популярності і тепер є домінуючою на ринку СУБД.
Опис
Різниця між ієрархічною моделлю даних і мережевою полягає в тому, що в ієрархічних структурах запис-нащадок повинен мати в тільки одного предка, а в мережевій структурі даних у нащадка може бути будь-яке число предків. Мережева БД складається з набору екземплярів певного типу запису і набору екземплярів певного типу зв'язків між цими записами. Тип зв'язку визначається для двох типів запису: предка і нащадка. Екземпляр типу зв'язку складається з одного екземпляру типу запису предка і впорядкованого набору екземплярів типу запису нащадка. Для даного типу зв'язку L з типом запису предка P і типом запису нащадка C повинні виконуватися наступні дві умови:
- кожен екземпляр типу запису P є предком тільки в одному екземплярі типу зв'язку L;
- кожен екземпляр типу запису C є нащадком не більше, ніж в одному екземплярі типу зв'язку L;
Аспект маніпуляції
Приблизний набір операцій маніпулювання даними:
- знайти конкретний запис в наборі однотипних записів;
- перейти від предка до першого нащадка за допомогою деякого зв'язку;
- перейти до наступного нащадка за допомогою деякого зв'язку;
- перейти від нащадка до предка за допомогою деякого зв'язку;
- створити новий запис;
- видалити запис;
- змінити запис;
- додати до зв'язку;
- видалити із зв'язку;
- перемістити в інший зв'язок і т. д.
Аспект цілісності
Є можливість (необов'язкова) вимагати для конкретного типу зв'язку відсутність нащадків, які не беруть участь ні в одному екземплярі цього типу зв'язку (як в ієрархічній моделі).
Переваги
Перевагою мережевої моделі даних є можливість ефективної реалізації за показниками витрат пам'яті і оперативності.
Недоліки
Недоліком мережевої моделі даних є висока складність і жорсткість схеми БД, побудованої на її основі. Оскільки логіка процедури вибірки даних залежить від фізичної організації цих даних, то ця модель не є повністю незалежною від програми. Іншими словами, якщо необхідно змінити структуру даних, то потрібно змінити і додаток.
Мережеві СУБД
Мережева СУБД — СУБД, побудована на основі мережевої моделі даних. До основних понять мережевої моделі бази даних відносяться: рівень, елемент (вузол), зв'язок.
Вузол — це сукупність атрибутів даних, що описують деякий об'єкт. На схемі ієрархічного дерева вузли представляються вершинами графа. В мережевій структурі кожен елемент може бути пов'язаний з будь-яким іншим елементом. Мережеві бази даних подібні ієрархічним, за винятком того, що в них є покажчики в обох напрямках, які з'єднують споріднену інформацію. Незважаючи на те, що ця модель вирішує деякі проблеми, пов'язані з ієрархічною моделлю, виконання простих запитів залишається досить складним процесом. Також, оскільки логіка процедури вибірки даних залежить від фізичної організації цих даних, то ця модель не є повністю незалежною від програми. Іншими словами, якщо необхідно змінити структуру даних, то потрібно змінити і додаток. Список найбільш значущих мережевих СУБД на 1978 рік:
- IDS (Integrated Data Store) компанії General Electric - найперша мережева СУБД, розроблена Чарльзом Бахманом в 1960 р.
- IDS/2 або IDS/II) компанії Honeywell, що купила IDS у General Electric, пізніше - компанії Bull
- Integrated Database Management System (IDMS) компанії Cullinet, розвиток IDS на основі її вихідних кодів
- DMS-1100 (для мейнфреймів UNIVAC 1100) і DMS-90 (для міні-комп'ютерів, перший реліз - листопад 1974) компанії UNIVAC[2]
- DBMS-10 компанії DEC для Decsystem-10 і Decsystem-20
- CDC DMS-170
- Burroughs Data Management System (DMS-2 ). Продукт представлений на ринку в жовтні 1974 року.
Інші подібні СУБД:
- IMAGE/3000 компанії Hewlett-Packard (1974 р.)
- Norsk-Data SYBAS
- NCR IDM-9000
- Cincom TOTAL
- dbVista
- Universal Datenbank System (UDS) від Siemens
- МООБЗ Cerebrum
- ІСУБД «CronosPRO»
- Caché
- GT.M
Примітки
- Знаменита суперечка під назвою "The Great Debate" відбулась в 1974 році на конференції "ACM SIGMOD Workshop on Data Description, Access and Control", де Бахман і Кодд вирішували одну й ту ж бізнес-задачу, використовуючи кожен свій підхід. Кодд розв'язав її правильно, хоч і не з першого разу, а Бахман запропонував громіздкий розв'язок, який виявився неправильним
- Computerworld 5 Jun 1978// Data Base Systems: Design, Implementation and Management, Part III