Различни системи за управление на бази данни дефинират схема по свой начин. Това може да затрудни разработчиците на бази данни да разберат какво точно представлява една схема – особено при превключване между различни СУБД.
Тази статия предоставя дефиниции, използвани от трите водещи системи за бази данни.
MySQL
Документацията на MySQL дефинира схема както от концептуална, така и от физическа гледна точка.
Концептуално
Концептуално схемата е набор от взаимосвързани обекти на база данни, като таблици, колони на таблици, типове данни на колоните, индекси, външни ключове и т.н. Тези обекти са свързани чрез SQL синтаксис, тъй като колоните съставляват таблиците, външните ключове се отнасят до таблици и колони и т.н. В идеалния случай те също са свързани логически, като работят заедно като част от унифицирано приложение или гъвкава рамка. Например, информационна_схема и схема_изпълнение базите данни използват „схема“ в имената си, за да подчертаят близките връзки между таблиците и колоните, които съдържат.
Физически
След това се посочва, че от физическа гледна точка няма разлика между схеми и бази данни:
В MySQL, физически, есхема е синоним на база данни . Можете да замените ключовата дума
SCHEMA
вместоDATABASE
в MySQL SQL синтаксис, например с помощта наCREATE SCHEMA
вместоCREATE DATABASE
.
Източник: „MySQL речник“. Справочно ръководство за MySQL 5.7. MySQL. Изтеглено на 6 юни 2016 г.
SQL сървър
Речник
Схема на базата данни
Имената на таблици, полета, типове данни и първични и външни ключове на база данни.
Източник: „Речник“. Техническа документация на SQL Server 2016. Мрежа за разработчици на Microsoft. Изтеглено на 6 юни 2016 г.
Техническа статия за SQL сървър
Тази статия за схемите на обекти на база данни изрично начертава разликата между потребител на база данни и схема (това е в контраст с начина, по който Oracle дефинира схемите – по-долу).
Схемата е отделно пространство от имена за улесняване на разделянето, управлението и собствеността на обекти на база данни.
и
Обект, притежаван от потребител на база данни, вече не е обвързан с този потребител. Обектът вече принадлежи към схема – контейнер, който може да съдържа много обекти от база данни.
и
Това разделяне означава, че обекти и схеми могат да бъдат създадени, преди потребителите да бъдат добавени към базата данни. Това също така означава, че потребителят може да бъде отхвърлен, без специално да се отстранят обектите, притежавани от този потребител.
Източник: „Най-добри практики за SQL Server – Внедряване на схеми за обекти на база данни“. Статия в Microsoft TechNet. Публикувано:ноември 2008 г. Изтеглено на 6 юни 2016 г.
База данни на Oracle
Схемата на Oracle Database е доста различна от другите системи. Схемата на Oracle е много свързана с потребителя на базата данни.
Схемата е колекция от логически структури от данни или обекти на схема. Една схема е собственост на потребител на база данни и има същото име като този потребител. Всеки потребител притежава една-единствена схема.
Oracle прави разлика между схемни обекти и несхемни обекти . С други думи, някои обекти на база данни не могат да бъдат включени в схема.
Обекти на схема
В Oracle Database, схемни обекти включват следното:
- Клъстери
- Ограничения
- Връзки към базата данни
- Задействания на базата данни
- Размери
- Библиотеки за външни процедури
- Индексно организирани таблици
- Индекси
- Типове на индекси
- Класове на Java, ресурси на Java, източници на Java
- Материализирани изгледи
- Материализирани регистрационни файлове за преглед
- Модели за копаене
- Таблици с обекти
- Типове обекти
- Изгледи на обекти
- Оператори
- Пакети
- Последователности
- Съхранени функции, съхранени процедури
- Синоними
- Таблици
- Прегледи
Несхемни обекти
В Oracle Database следните обекти са несхемни обекти :
- Контексти
- Указатели
- Издания
- Възстановяване на точки
- Роли
- Сегменти за връщане назад
- Пространства за таблици
- Потребители
Източник: „Обекти на база данни“. Oracle Database Online Documentation 12c Издание 1 (12.1). Помощен център на Oracle. Изтеглено на 6 юни 2016 г.