Защо са нужни модели на данните
За да бъдат удобни за обработване, данните в паметта трябва да са добре структурирани. През 1959 г. се формира международната работна група CODASYL (COmmittee on DAta SYstems Languages). Първият ѝ резултат е езикът COBOL — език за обработка на бизнес данни. Но многобройните му диалекти не позволяват дори интегриране на данни между системи, разработени на различни диалекти.
Затова специалистите търсят универсални теоретични модели за структуриране на данните, които да позволят ИС да бъдат имплементирани на еднакви принципи — и така да се улесни разпространяването и интегрирането им.
Релационен (табличен) модел
Основата му е познатият ни двумерен масив — данни, организирани в редове и стълбове (колони). Ограничението на масива е, че всички елементи са от един и същ тип. В практиката данните за един служител са от най-различни видове: текстови, числови (цели, дробни, цени, проценти), дати, изображения. В процедурните езици това се решава със struct, в ООП — с класове: тогава естествено се стига до двумерна таблица, чиито редове са от такъв съставен тип.
През 1970 г. английският информатик Едгар Франк Код (1923–2003) публикува своя модел, основан на тази идея, наречен релационен (или по-лесно разбираемо — табличен): данните се групират според типа им и за всяка група еднотипни данни се създава таблица. За бизнес ИС е естествено да се оформят таблици Служител, Клиент, Доставчик, Склад, Подразделение и т.н.
12-те условия на Код — двете най-важни
Ключово
1. Данните се представят пред потребителя като релации (таблици) — базата от данни е множество от таблици, състоящи се от редове и стълбове.
2. Обработката на данните се извършва единствено с операции над таблици и между таблици.
На практика никоя СУРБД (Система за управление на релационна база от данни) не е успявала да изпълни и 12-те условия на Код, но тези две са в основата на повечето такива системи. Релационният модел е много близък до традиционните похвати в програмирането — затова с годините се налага като най-удобния и най-често използван.
Йерархичен (дървовиден) модел
Йерархии срещаме навсякъде: холдинг → предприятия → цехове; университет → факултети → катедри; файловата система на ОС. През 1960 г. IBM разработва йерархичния модел и на негова основа софтуера IMS (Information Management System) за компютрите от серията IBM360.
Практическата реализация обаче е трудна: в дървовидната структура всеки елемент може да има произволен брой преки наследници, а йерархичните структури сравнително просто се симулират в релационния модел. Затова йерархичният модел не получава широко разпространение (използва се напр. в системния регистър на MS Windows).
Мрежов (графов) модел
Дървовидните структури са частен случай на графовите — най-сложната възможност за организация на данни, при която всеки обект може да е свързан с всеки. Групата CODASYL предлага мрежов модел още преди Код да публикува релационния; след налагането на релационния мрежовият дълго не се използва.
Завръщането на графите
С търсенето на данни в интернет се оказва, че има важни области — семантичният Web, географските ИС — за които естественият модел е мрежовият, наричан днес графов. Активно се разработват СУБД за графови бази от данни и не след дълго двата модела ще се изучават редом.
ER модел на данните
Най-популярният съвременен модел за проектиране е ER моделът (Entity-Relationship, „Обект–Отношение"), създаден от Питър Чен през 1976 г. Той позволява много по-точно специфициране на отношенията в базата — между обектите, между обектите и техните свойства, и между самите данни — и по-точно отразява семантиката (смисъла) на връзките.
Спецификациите в ER модела се представят графично — с ER диаграми. Те са визуален език между анализаторите на данни, клиента и програмистите, които ще създават базата. Подробно за ER модела — в следващите уроци.
Обзор на моделите
| Модел | Година / автор | Структура | Днес |
|---|---|---|---|
| Йерархичен | 1960, IBM (IMS) | Дърво | Рядко (регистърът на Windows) |
| Мрежов (графов) | 60-те, CODASYL | Граф | Възражда се (семантичен Web, ГИС) |
| Релационен | 1970, Едгар Код | Таблици (релации) | Стандартът за ИС |
| ER модел | 1976, Питър Чен | Обекти + отношения (диаграми) | Основен инструмент за проектиране |
Какво трябва да запомниш
- Универсалните модели решават проблема с несъвместимите структури на данни между системите.
- Релационен модел (Код, 1970): БД = множество от таблици; обработка само с операции над таблици.
- Йерархичният модел (дърво) лесно се симулира в релационния — затова не се наложи.
- Графовият модел се завръща — семантичен Web, географски ИС.
- ER моделът (Чен, 1976) описва обекти и отношения; спецификациите са ER диаграми.