КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Реляционное исчисление доменовВ исчислении доменов областью определения переменных являются не отношения, а домены. Применительно к базе данных СОТРУДНИКИ-ОТДЕЛЫ можно говорить, например, о доменных переменных ИМЯ (значения - допустимые имена) или НОСОТР (значения - допустимые номера сотрудников). Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного набора предикатов, позволяющих выражать так называемые условия членства. Если R - это n-арное отношение с атрибутами a1, a2, ..., an, то условие членства имеет вид R (ai1:vi1, ai2:vi2, ..., aim:vim) (m <= n),где vij - это либо литерально задаваемая константа, либо имя кортежной переменной. Условие членства принимает значение true в том и только в том случае, если в отношении R существует кортеж, содержащий указанные значения указанных атрибутов. Если vij - константа, то на атрибут aij задается жесткое условие, не зависящее от текущих значений доменных переменных; если же vij - имя доменной переменной, то условие членства может принимать разные значения при разных значениях этой переменной. Во всех остальных отношениях формулы и выражения исчисления доменов выглядят похожими на формулы и выражения исчисления кортежей. В частности, конечно, различаются свободные и связанные вхождения доменных переменных. Для примера сформулируем с использованием исчисления доменов запрос "Выдать номера и имена сотрудников, не получающих минимальную заработную плату" (будем считать для простоты, что мы определили доменные переменные, имена которых совпадают с именами атрибутов отношения СОТРУДНИКИ, а в случае, когда требуется несколько доменных переменных, определенных на одном домене, мы будем добавлять в конце имени цифры): СОТР_НОМ, СОТР_ИМЯ WHERE EXISTS СОТР_ЗАРП1 (СОТРУДНИКИ (СОТР_ЗАРП1) AND СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП) AND СОТР_ЗАРП > СОТР_ЗАРП1)Реляционное исчисление доменов является основой большинства языков запросов, основанных на использовании форм. В частности, на этом исчислении базировался известный язык Query-by-Example, который был первым (и наиболее интересным) языком в семействе языков, основанных на табличных формах. 16. Мова SQL. Запит на оновлення. Використання співвіднесених запитів в запитах на оновлення. Змінювати деякі або всі значення в існуючому рядку можна за допомогою команди UPDATE. Ця команда містить речення UPDATE, в якій вказано ім'я таблиці, що використовується, і речення SET, яке вказує на зміну яку потрібно зробити для певного стовпця. Речення SET - це не предикат. Він може вводити порожні NULL значення так само, як він вводив значення не використовуючи якогось спеціального синтаксису (такого наприклад як IS NULL). 17. Мова SQL. Запит на знищення. Використання підзапитів в запитах на знищення. Ви можете видаляти рядки з таблиці командою модифікації - DELETE. Вона може видаляти тільки введені рядки, а не індивідуальні значення полів, так що параметр поля є необов'язковим або недопустимим. Ви можете також використовувати підзапити в предикаті команди DELETE. Це дасть вам можливість визначати деякі досить складні критерії, щоб встановити, які рядки видалятимуться, що важливе, оскільки ви, звичайно ж, не схочете по необережності видалити потрібний рядок. 18. Мова SQL. Запит на додавання. Додавання результатів запиту. Усі рядки в SQL вводяться з використанням команди модифікації ІNSERT. У найпростішій формі, ІNSERT використовує наступний синтаксис: ІNSERT ІNTO <table name> VALUES ( <value>, <value> . . .); Ім'я таблиці, повинне бути попередньо визначено, у команді CREATE TABLE, а кожне значення пронумероване в речення значень, повинне збігатися з типом даних стовпця, у який воно вставляється. Якщо вам потрібно ввести порожнє значення (NULL), ви вводите його так само як і звичайне значення. Оскільки значення NULL - це спеціальний маркер, а не просте символьне значення, він не включається в одиночні лапки. Ви можете також використовувати команду INSERT, щоб одержувати або вибирати значення з однієї таблиці і поміщати їх в іншу, щоб використовувати їх разом із запитом. Загальне правило те, що стовпці таблиці, які вставляються, повинні співпадати із стовпцями, які виводяться підзапитом. 19. Мова SQL. Об’єднання таблиць. Використання пропозиції UNION. Ви можете помістити численні запити разом і об'єднати їх вивід використовуючи UNІON, об’єднує висновок двох або більш SQL запитів у єдиний набір рядків і стовпців. UNIONавтоматично виключає дублікати рядків з висновку.Це щось невластиве для SQL, оскільки одиночні запити звичайно містятьDISTINCT,щоб усувати дублікати.Використання UNION ALLдає такі самі результати. 20. Мова SQL. Використання пропозицій ANY, ALL, SOME. ANY, ALL і SOME нагадують EXІSTS, який сприймає підзапити як аргументи; однак вони відрізняються від EXІSTS тим, що використовуються разом з реляційними операторами. У цьому відношенні, вони нагадують оператор ІN, коли той використовується з підзапитами; вони беруть усі значення, виведені підзапитом, і обробляють їх як модуль. Однак, на відміну від ІN, вони можуть використовуватися тільки з підзапитами. Оператори SOME і ANY - взаємозамінні скрізь і там де ми використовуємо ANY, SOME буде працювати так само. Розходження в термінології полягає в тому, щоб дозволити людям використовувати той термін, який найбільш однозначний. Оператор ANYбере всі значення виведені підзапитом, і оцінює їх як вірні, якщо будь-який (ANY) з них дорівнює значенню поточного рядка зовнішнього запиту. Любий запит який може бути сформульований з ANY (або, як ми побачимо, з ALL), міг бути також сформульований з EXІSTS, хоча навпаки буде невірно. Строго говорячи, варіант із EXІSTS не абсолютно ідентичний варіантам з ANY або з ALL через розходження в тім як обробляються порожні (NULL) значення. Але, з технічної точки зору, ми могли б робити це без ANY і ALL якби ми стали дуже спритні у використанні EXІSTS (і ІS NULL). Більшість користувачів, проте, знаходить ANY і ALL більш зручними у використанні, ніж EXISTS, який вимагає співвіднесених підзапитів. Крім того, залежно від реалізації, ANY і ALL можуть, принаймні в теорії, бути більш ефективними ніж EXISTS. Підзапити ANY або ALL можуть виконуватися один раз і мають висновок, що використовується щоб визначати предикат для кожного рядка основного запиту. EXISTS, з другого боку, бере співвіднесений підзапит, який вимагає, щоб весь підзапит повторно виконувався для кожного рядка основного запиту. За допомогою ALL, предикат є вірним, якщо кожне значення вибране підзапитом задовольняє умові в предикаті зовнішнього запиту. ALLвикористовується в основному з нерівностями, ніж з рівністю, оскільки значення може бути "рівним для всіх" результатом підзапиту, тільки якщо всі результати фактично ідентичні. Одна значна відмінність між ALL і ANY - спосіб дії за ситуації, коли підзапит не повертає ніяких значень. В принципі, всякий раз, коли допустимий підзапит не в змозі зробити висновок, ALL - автоматично вірний, а ANY автоматично неправильний. Значення NULL також мають деякі проблеми з операторами на зразок цих. Коли SQL порівнює два значення в предикаті, одне з яких порожнє (NULL), то результат невідомий. Невідомий предикат, подібний невірному і є причиною того, що рядок не вибирається, але працювати він буде інакше в деяких схожих запитах, залежно від того, використовують вони ALL або ANY замість EXISTS. Агрегатні функці можуть використовувати аргумент ALL - враховувати дублікати. Відміність між ALL і * , коли вони використовуються с COUNT: · ALL використовує імя_поля, як аргумент. · ALL не може порахувати значення NULL. 21. Мова SQL. Використання пропозиції EXISTS. EXISTS - це оператор, який виводить вірне або невірне значення, іншими словами, вираз Буля. Це означає, що він може працювати автономно в предикаті або в комбінації з іншими виразами Буля, що використовують Булеві оператори AND, OR, і NOT. Він бере підзапит як аргумент і оцінює його як вірний, якщо той робить будь-який вивід, або як невірний, якщо той не робить цього. Цим він відрізняється від інших операторів предиката, в яких він не може бути невідомим. В співвіднесеному підзапиті, EXISTS оцінюється окремо для кожного рядка таблиці, ім'я якого вказано в зовнішньому запиті, так само як і інші оператори предиката, коли ви використовуєте співвіднесений підзапит. Це дає можливість використовувати EXISTS як вірний предикат, який генерує різні відповіді для кожного рядка таблиці вказаного в основному запиті. Отже, інформація з внутрішнього запиту, буде збережена, якщо виведена безпосередньо, коли ви використовуєте EXISTS таким чином. Одна річ, яку EXISTS не може зробити - узяти функцію агрегату в підзапиті. Це має значення. Якщо функція агрегату знаходить будь-які рядки для операцій з ними, EXISTS вірний, не дивлячись на те, що це - значення функції; якщо ж агрегатна функція не знаходить ніяких рядків, EXISTS неправильний. Спроба використовувати агрегати з EXISTS у такий спосіб, ймовірно покаже, що проблема невірно розв'язувалася від початку до кінця. Можливі прикладні програми підзапитів можуть багато разів вкладатися. Ви можете вкладати їх два або більш в одиночний запит, і навіть один всередину іншого. 22. Мова SQL. Співвіднесений запит на вибірку. Когда вы используете подзапросы в SQL, вы можете обратиться к внутреннему запросу таблицы в предложении внешнего запроса FROM , сформировав — соотнесенный подзапрос. Когда вы делаете это, подзапрос выполняется неоднократно, по одному разу для каждой строки таблицы основного запроса. Соотнесенный подзапрос — один из большого количества тонких понятий в SQL из-за сложности в его оценке. Если вы сумеете овладеть им, вы найдете что он очень мощный, потому что может выполнять сложные функции с помощью очень лаконичных указаний. Строка внешнего запроса, для которого внутренний запрос каждый раз будет выполнен, называется — текущей строкой-кандидатом. Также как предложение HAVING может брать подзапросы, он может брать и соотнесенные подзапросы. Когда вы используете соотнесенный подзапрос в предложении HAVING, вы должны ограничивать внешние ссылки к позициям, которые могли бы непосредственно использоваться в самом предложении HAVING. Вы можете вспомнить, что предложение HAVING может использовать только агрегатные функции, которые указаны в их предложении SELECT или поля, используемые в их предложении GROUP BY. Они являются только внешними ссылками, которые вы можете делать. Все это потому, что предикат предложения HAVING оценивается для каждой группы из внешнего запроса, а не для каждой строки. Следовательно, подзапрос будет выполняться один раз для каждой группы, выведенной из внешнего запроса, а не для каждой строки. Сам подзапрос не должен использовать предложения GROUP BY или HAVING. Как вы и могли предположить, соотнесенные подзапросы по природе близки к объединениям — они оба включают проверку каждой строки одной таблицы с каждой строкой другой (или псевдонимом из той же) таблицы. Вы найдете, что большинство операций, которые могут выполняться с одним из них, будут также работать и с другим. 23. Мова SQL. Запит на вибірку із підзапитом. С помощью SQL вы можете вкладывать запросы внутрь друга друга. Обычно, внутренний запрос генерирует значение которое проверяется в предикате внешнего запроса, определяющего верно оно или нет. Чтобы оценить внешний (основной) запрос, SQL сначала должен оценить внутренний запрос (или подзапрос) внутри предложения WHERE. Он делает это так как и должен делать запрос, имеющий единственную цель. Основной запрос затем выполняется как обычно с вышеупомянутыми результатами. Конечно же, подзапрос должен выбрать один и только один столбец, а тип данных этого столбца должен совпадать с тем значением, с которым он будет сравниваться в предикате. При использовании подзапросов в предикатах основанных на реляционных операторах, вы должны убедиться, что использовали подзапрос, который будет выдавать одну и только одну строку вывода. Если вы используете подзапрос, который не выводит никаких значений вообще, команда не потерпит неудачи, но основной запрос не выведет никаких значений. Подзапросы которые не производят никакого вывода (или нулевой вывод) вынуждают рассматривать предикат ни как верный, ни как неверный, а как неизвестный. Однако, неизвестный предикат имеет тот же самый эффект что и неверный: никакие строки не выбираются основным запросом. Если наш подзапрос возвратит более одного значения, это будет указывать на ошибку в наших данных - хорошая вещь для знающих об этом. Вы должны обратить внимание что предикаты, включающие подзапросы, используют выражение < скалярная форма > < оператор > < подзапрос >, а не < подзапрос > < оператор > < скалярное выражение > или, < подзапрос > < оператор > < подзапрос >. Один тип функций, который автоматически может производить одиночное значение для любого числа строк, конечно же, — агрегатная функция. Любой запрос, использующий одиночную функцию агрегата без предложения GROUP BY будет выбирать одиночное значение для использования в основном предикате. Имейте ввиду, что сгруппированные агрегатные функции, которые являются агрегатными функциями, определенными в терминах предложения GROUP BY, могут производить многочисленные значения. Они, следовательно, не позволительны в подзапросах такого характера. Даже если GROUP BY и HAVING используются таким способом, что только одна группа выводится с помощью подзапроса, команда будет отклонена в принципе. Вы должны использовать одиночную агрегатную функцию с предложением WHERE, что устранит нежелательные группы. Вы можете использовать подзапросы, которые производят любое число строк если вы используете специальный оператор IN (операторы BETWEEN, LIKE, и IS NULL не могут использоваться с подзапросами). Как вы помните, IN определяет набор значений, одно из которых должно совпадать с другим термином уравнения предиката в порядке, чтобы предикат был верным. Когда вы используете IN с подзапросом, SQL просто формирует этот набор из вывода подзапроса. В принципе, если вы знаете что подзапрос должен(по логике) вывести только одно значение, вы должны использовать =. IN является подходящим, если запрос может ограниченно производить одно или более значений, независимо от того ожидаете вы их или нет. 24. Мова SQL. Запит на вибірку до кількох таблиць. З’єднання таблиць. Типи з’єднань. Одна из наиболее важных особенностей запросов SQL — это их способность определять связи между многочисленными таблицами и выводить информацию из них в терминах этих связей, всю внутри одной команды. Этот вид операции называется — соединением, которое является одним из видов операций в реляционных базах данных. Используя соединения, мы непосредственно связываем информацию с любым номером таблицы, и таким образом способны создавать связи между сравнимыми фрагментами данных. При соединении, таблицы представленные списком в предложении FROM запроса, отделяются запятыми. Предикат запроса может ссылаться к любому столбцу любой связанной таблицы и, следовательно, может использоваться для связи между ними. Обычно, предикат сравнивает значения в столбцах различных таблиц, чтобы определить, удовлетворяет ли WHERE установленному условию. Полное имя столбца таблицы фактически состоит из имени таблицы, сопровождаемого точкой и затем именем столбца. До этого, вы могли опускать имена таблиц, потому что вы запрашивали только одну таблицу одновременно, а SQL достаточно интеллектуален, чтобы присвоить соответствующий префикс, имени таблицы. Даже когда вы делаете запрос многочисленных таблиц, вы еще можете опускать имена таблиц, если все ее столбцы имеют различные имена. Что SQL в основном делает в объединении — исследует каждую комбинацию строк двух или более возможных таблиц, и проверяет эти комбинации по их предикатам. Соединение таблиц через справочную целостность часто используется просто для эксплуатации связей встроенных в базу данных. В предыдущем примере, мы установили связь между двумя таблицами в соединении. Но эти таблицы, уже были соединены через snum поле. Эта связь называется состоянием справочной целостности. Используя объединение можно извлекать данные в терминах этой связи. Объединения, которые используют предикаты, основанные на равенствах, называются — соединениями по равенству. Все наши примеры в этой главе до настоящего времени, относились именно к этой категории, потому что все условия в предложениях WHERE базировались на математических выражениях использующих знак равно (=). Объединения по равенству — это вероятно наиболее общий вид объединения, но имеются и другие. Вы можете, фактически, использовать любой из реляционных операторов в объединении. Вы можете также создавать запросы объединяющие более двух таблиц. 25. Мова SQL. Запит на вибірку. Агрегатні функції Запити можуть виводити узагальнене групове значення за допомогою агргатних функцій. Види агрегатних функцій: · COUNT виводить номера рядків або не-NULL значення полів. · SUM виводить арифметичну суму всіх вибраних значень даного поля. · AVG виводить середнє всіх вибраних значень даного поля. · MAX виводить найбільше із всіх вибраних значень даного поля. · MIN виводить найменше із всіх вибраних значень даного поля. SUM і AVG використовуються лише для числових полів. COUNT, MAX, і MIN можуть використовуватися для числових і символьних полів. Функція COUNT дещо відрізняється від всіх. Вона рахує число значень в даному стовпці, або число рядків в таблиці. Коли вона рахує значення стовпця, вона використовується з DISTINCTщоб проводити рахунок чисел різних значень в даному полі. Агрегатні функці можуть використовувати аргумент ALL - враховувати дублікати. Відміність між ALL і * , коли вони використовуються с COUNT: · ALL використовує імя_поля, як аргумент. · ALL не може порахувати значення NULL. Функція GROUP BY дозволяє визначити підмножину значень в особливому полі в термінах іншого поля, і застосовувати функцію агрегату до підмножини. Це дає можливість об'єднувати поля і агрегатні функції в єдиній функції SELECT. GROUP BY застосовує агрегатні функції незалежно від серій груп, які визначаються за допомогою значення поля в цілому. Функція HAVING визначає критерії, які використовуються, щоб видаляти певні групи із виводу. Команда ORDERBY впорядковує виведення запиту згідно значенням в тій або іншій кількості вибраних стовпців. Численні стовпці упорядковуються один усередині іншого, так як з GROUP BY, і ви можете визначати зростання (ASC) або убування (DESC) для кожного стовпця. За умовчанням встановлено – зростання. ORDER BY може крім того, використовуватися з GROUPBY для впорядкування груп. 26. Еволюція систем баз даних. Вклад в розвиток СБД в різні роки: 60-ті, 70-ті, 80-ті, 90-ті. 27. Традиційні файлові системи. Порівняння с СБД. Переваги і недоліки. 28. Системи з використанням баз даних. Компоненти СБД. Переваги і недоліки. 29. Реляційні системи. Відмінності між реляційними і не реляційними системами. 30. Системи керування базами даних. Компоненти. Структурна схема. Функції. 31. Поняття БД. Перманентні дані. Об’єкти і зв’язки. Властивості. 32. Архітектура СБД ANSI/SPARC. Три рівні. Порівняльна характеристика рівнів. 33. Функції та загальне призначення концептуального проектування. 34. Незалежність від даних в середовищі систем баз даних. 35. Функції та загальне призначення системного каталогу. 36. Архітектура СБД ANSI/SPARC. Розподіл обов’язків користувачів в СБД при проектуванні. 37. Архітектура СБД ANSI/SPARC. Мови баз даних. DDL. DML. 4GL. 38. Архітектура СБД ANSI/SPARC. Архітектура клієнт-сервер. Переваги та недоліки. Розподілена обробка. 39. Ранні підходи в реалізації БД. БД на інвертованих списках. Структури даних. Команди. 40. Ранні підходи в реалізації БД. Ієрархічні БД. Структури даних. Команди. 41. Ранні підходи в реалізації БД. Мережні БД. Структури даних. Команди. 42. Аспекти реляційної моделі. Компоненти реляційної моделі. 43. Реляційна модель. Домени. Допустимі представлення. Визначення операторів. Перетворення типів. 44. Реляційна модель. Кортежі. Властивості кортежів. Відношення. Змінні-відношення. Властивості відношень. Типи відношень. 45. Реляційна алгебра. Реляційна замкненість. Традиційні операції над множинами. Операція ділення. 46. Реляційна алгебра. Операції з’єднання. Тета-з’єднання. Природне з’єднання. Зовнішнє з’єднання. Напів-з’єднання. 47. Реляційна алгебра. Операція розширення. Операція узагальнення. Групування, розгрупування. Реляційні порівняння. 48. Реляційні операції над мультимножинами. 49. Реляційне числення. Числення кортежів. Квантори існування і загальності. Вирази і формули. 50. Реляційне числення. Числення доменів. 51. ER-модель. Елементи ER-моделі. Типи сутностей. Типи атрибутів. Типи зв’язків. Ролі. 52. ER-модель. Підкласи в ER-моделі. Перетворення підкласів в реляційні відношення. 53. ER-модель. Принципи проектування. 54. ER-модель. Моделювання обмежень цілісності даних. 55. ER-модель. Слабкі сутності. Перетворення слабких сутностей в реляційні відношення. 56. ER-модель. Проблеми проектування. 57. ER-модель. Перетворення ER-діаграм в реляційні схеми. 58. Мова SQL. Запит на оновлення. Використання співвіднесених запитів в запитах на оновлення. 59. Мова SQL. Запит на знищення. Використання підзапитів в запитах на знищення. 60. Мова SQL. Запит на додавання. Додавання результатів запиту. 61. Мова SQL. Об’єднання таблиць. Використання пропозиції UNION. 62. Мова SQL. Використання пропозицій ANY, ALL, SOME. 63. Мова SQL. Використання пропозиції EXISTS. 64. Мова SQL. Запит на вибірку із підзапитом. Співвіднесений запит на вибірку. 65. Мова SQL. Запит на вибірку до кількох таблиць. З’єднання таблиць. Типи з’єднань. 66. Мова SQL. Запит на вибірку. Агрегатні функції. 67. Мова SQL. Визначення даних: база даних, домени, таблиці. Історія розвитку § 1960-ті рр. розробка перших БД. CODASYL — мережева модель даних та одночасно незалежна розробка ієрархічної БД фірмою North American Rockwell, яка пізніше взята за основу IMS — власної розробки IBM. § 1970-ті рр. наукове обґрунтування Едгаром Ф. Коддом основ реляційної моделі, котра на початку зацікавила лише наукові кола. Вперше цю модель було використано у БД Ingres(Берклі) та System R (IBM), що були лише дослідними прототипами, анонсованими протягом 1976 року. § 1980-ті рр. поява перших комерційних версій реляційних БД Oracle та DB2. Реляційні БД починають успішно витісняти мережеві та ієрархічні. Дослідження децентралізованих(розподілених) систем БД, проте вони не відіграють особливої ролі на ринку БД. § 1990-ті рр. увага науковців спрямовується у сторону об'єктно-орієнтованих БД, які знайшли застосування у першу чергу в тих областях, де використовуються комплексні дані: інженерні, мультимедійні БД. § 2000-ні рр. головним новоденням є підтримка та застосування XML у БД. Розробники комерційних БД, які панували на ринку у 1990-их рр., отримують все більшу конкуренцію зі сторони руху відкритого програмного забезпечення. Реакцією на це стає поява безкоштовних версій комерційних БД. Модель "сутність-зв'язок" (ER-модель) (англ. Entity-relationship model або entity-relationship diagram) - модель даних, яка дозволяє описувати концептуальні схеми за допомогою узагальнених конструкцій блоків. ER-модель - це мета-модель даних, тобто засіб опису моделей даних. ER-модель зручна при проектуванні інформаційних систем, баз даних, архітектур комп'ютерних застосунків та інших систем (моделей). За допомогою такої моделі виділяють найсуттєвіші елементи (вузли, блоки) моделі і встановлюють зв'язки між ними. Існує ряд моделей для представлення знань. Одним з найзручніших інструментів уніфікованого представлення даних, незалежного від реалізовуючого його програмного забезпечення, є модель "сутність-зв'язок" (entity - relationship model, ER - model). Модель "сутність-зв'язок" ґрунтується на якійсь важливій семантичній інформації про реальний світ і призначена для логічного представлення даних. Вона визначає значення даних в контексті їх взаємозв'язку з іншими даними. Важливим для нас є той факт, що з моделі "сутність-зв'язок" можуть бути породжені всі існуючі моделі даних (ієрархічна, мережева, реляційна, об'єктна), тому вона є найбільш загальною. Будь-який фрагмент наочної області може бути представлений як безліч сутностей, між якими існує деяка безліч зв'язків. ER-модель - це одна з найпростіших візуальних моделей. Вона дозволяє осягнути структуру об'єкта «крупними мазками», в загальних рисах. Такий загальний опис структури називається ER-діаграмою або онтологією вибраної предметної області (area of interest). Сутність (entity) - це об'єкт, який може бути ідентифікований якимсь способом, що відрізняє його від інших об'єктів. Приклади: конкретна людина, підприємство, подія і т.д. Набір сутностей (entity set) - множини сутностей одного типу (що володіють однаковими властивостями). Сутність фактично є множиною атрибутів, які описують властивості всіх членів даного набору сутності.
|