Мережева модель даних

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Мережева СУБД, графічне представлення зв'язків

Мережева модель даних —  логічна модель даних, що є розширенням ієрархічного підходу, сувора математична теорія, що описує структурний аспект, аспект цілісності і аспект обробки даних в мережевих базах даних.

Історія[ред. | ред. код]

Мережева модель була одним з перших підходів, які використовувалися при створенні баз даних в кінці 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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Знаменита суперечка під назвою "The Great Debate" відбулась в 1974 році на конференції "ACM SIGMOD Workshop on Data Description, Access and Control", де Бахман і Кодд вирішували одну й ту ж бізнес-задачу, використовуючи кожен свій підхід. Кодд розв'язав її правильно, хоч і не з першого разу, а Бахман запропонував громіздкий розв'язок, який виявився неправильним
  2. Computerworld 5 Jun 1978// Data Base Systems: Design, Implementation and Management, Part III