Презентация на тему "РЕЛЯЦІЙНІ БАЗИ ДАНИХ"

Презентация: РЕЛЯЦІЙНІ БАЗИ ДАНИХ
1 из 68
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
0.0
0 оценок

Комментарии

Нет комментариев для данной презентации

Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.


Добавить свой комментарий

Аннотация к презентации

Посмотреть и скачать бесплатно презентацию по теме "РЕЛЯЦІЙНІ БАЗИ ДАНИХ", состоящую из 68 слайдов. Размер файла 0.79 Мб. Каталог презентаций, школьных уроков, студентов, а также для детей и их родителей.

  • Формат
    pptx (powerpoint)
  • Количество слайдов
    68
  • Слова
    другое
  • Конспект
    Отсутствует

Содержание

  • Презентация: РЕЛЯЦІЙНІ БАЗИ ДАНИХ
    Слайд 1

    РЕЛЯЦІЙНІ БАЗИ ДАНИХ

    SQL ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 1

  • Слайд 2

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 2 База даних (БД) – це впорядкований набір логічно взаємопов’язаних даних, призначених для задоволення інформаційних потреб певної предметної області. Доступ до даних БД здійснюється різними програмами через посередництво систем керування базами даних (СКБД). Система керування базами даних (СКБД) — сукупність програмних засобів, що забезпечують керування створенням та використанням баз даних. СКБД, розміщена на одному комп’ютері називається локальноюСКБД. СКБД, частини якої можуть розміщатися на декількох комп’ютерах називається розподіленою.

  • Слайд 3

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 3 Дані в БД можна представляти по-різному, в залежності від методів опису типів та логічних структур даних в БД, методів маніпуляції даними, методів опису та підтримки цілісності БД (того, що дані не будуть змінені при виконанні таких операцій над ними, як то представлення, збереження, передача, представлення). Модель даних– це абстрактне, самодостатнє представлення об‘єктів, операторів та інших елементів, які в сукупності складають абстрактну машину доступу до даних, з якими взаємодіє користувач. Ці об’єкти дозволяють моделювати структуру даних, а оператори – поведінку даних.

  • Слайд 4

    Моделі даних (МД):

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 4 Виділяють наступні моделі даних (МД): Ієрархічна МД – представляє БД у вигляді ієрархічної (деревовидної) структури. Об’єкти знаходяться у відношенні «нащадок» – «предок». Перші СКБД використовували ієрархічну модель представлення даних. Мережева МД – представляє БД у вигляді вузлів (елементів), зв’язків між ними на різних рівнях. Мережева МД є розширенням ієрархічної шляхом введення вказівників, що з’єднують споріднену інформацію в обох напрямках.

  • Слайд 5

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 5 Реляційна МД – представляє БД у вигляді таблиць, що надає можливість використання формального апарата алгебри відношень та реляційного числення для обробки даних. Реляційна модель передбачає, що кожен елемент таблиці є одним елементом даних, кожен стовпчик має унікальне ім’я та містити дані одного типу, відсутність однакових рядків в таблиці, довільний порядок рядків та стовпчиків. Об’єктно-орієнтована МД – розглядає дані як абстрактні наділені певними властивостями об’єкти, що використовують методи взаємодії з іншими об’єктами предметної області. Об’єктно-реляційна МД – реляційна модель МД, яка підтримує деякі технології об’єктно-орієнтованих моделей.

  • Слайд 6

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 6 Відповідно до МД СКБД поділяють на ієрархічні, мережеві, реляційні, об’єктно-орієнтовані та об’єктно-реляційні СКБД. На сьогоднішній день найбільшого розповсюдження набули об’єктно-реляційні СКБД. Прикладами таких СКБД є OracleDatabase, Informix, DB2, PostgreSQL. Спільною для усіх перерахованих СКБД є реляційна складова.

  • Слайд 7

    Реляційні БД

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 7 Реляційна моделі даних– це модель в якій дані організуються у вигляді набора таблиць. Використанняреляційних БД булозапропоноване Едгаром Коддом в 1970-і роки.

  • Слайд 8

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 8 Реляція (таблиця) позначається, як R(A1,...An), деR - ім'я реляції. A1,...An - імена атрибутів (полів). Вони мають бути унікальними в межах однієї реляції. Порядок атрибутів несуттєвий, через унікальність імен. Приклад: КНИГА(ІД, НАЗВА, ОПИС). Інші терміни Кортеж - рядок, запис. Атрибут - стовпець, поле. Степінь - кількість стовпців. Кардинальність - кількість рядків. Первинний ключ - ідентифікатор запису. Домен - область допустимих значень. Тип даних. Над цією структурою даних існує реляційна алгебра.

  • Слайд 9

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 9 Атрибути A і B називають  порівнюваними, якщо до будь-якої пари значень з доменів цих атрибутів можна застосувати предикат порівняння. Набори атрибутів L та M називають порівнюваними, якщо можна встановити таку бієкцію між атрибутами, що кожна пара буде порівнювана. Для зручності вважатимемо, що зіставлені атрибути порівнюваних відношень повинні мати однакові імена.

  • Слайд 10

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 10 Над реляційною структурою даних будується реляційна алгебра. Її елементами є реляції (таблиці). Сигнатура реляційної алгебри містить наступні операції: об’єднання, перетин, різниця, вибірка (обмеження), проекція, декартів добуток, з’єднання, ділення, переіменування. Результатами виконання цих операцій є реляції (замкненість реляційної алгебри). R = f((, , …), (, , …), …) Декартів добуток. Отношение (A1, A2, …, Am, B1, B2, …, Bm), яке є зціпленнямвідношень A(A1, A2, …, Am) и B(B1, B2, …, Bm) : (a1, a2, …, am, b1, b2, …, bm)таких, что (a1, a2, …, am)∈ A,(b1, b2, …, bm)∈ B.  

  • Слайд 11

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 11 Вибірка(обмеження). Узагальнена вибірка це унарний оператор, що записується як , де φ  є формулою числення висловлювань, що складається із атомів, дозволених у звичайній вибірці та логічних операторів  (кон’юнкції),  (диз’юнкції) та  (заперечення). Така вибірка вибирає всі кортежі  для яких значення φ  істина. Проекція.Проекція — це унарна операція , де   є множиною назв атрибутів. Результат проекції визначається, як множина, що отримується із всіх кортежів із R, що обмежуються {  }. Переіменування.Перейменування є унарним оператором . Результат застосування оператора ідентичний  за винятком того, що поле  в усіх кортежах перейменовується на поле.  

  • Слайд 12

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 12 Об’єднання.Відношення з тимже заголовком, щоіу сумісних за типом відношень A та B, та тілом, щоскладається з кортежів, що належать Aчи B, чиобомвідношенням: AUB. Перетин. Відношення з тим же заголовком, що і у сумісних за типом відношень A та B, та тілом, щоскладається з кортежів, що належать Aта B: AB. Різниця.Відношення з тим же заголовком, що і у сумісних за типом відношень A та B, та тілом, щоскладається з кортежів, що належать A та Bне належать B: AB. З’єднання. Pезультат послідовного застосування операцій декартового добутку та вибірки. Якщо в відношеннях є атрибути з одинаковиминаіменуваннями, то перед виконанням з’єднанняїхнеобхіднопереіменувати. Ділення. Відношення з заголовком (X1, X2, …, Xn) та тілом, щоміститьмножинукортежів (x1, x2, …, xn), таких, щодля усіхкортежів (y1, y2, …, ym) ∈ B у відношенні A(X1, X2, …, Xn, Y1, Y2, …, Ym) знайдетьсякортеж (x1, x2, …, xn, y1, y2, …, ym).  

  • Слайд 13

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 13 У кожної таблиці є унікальне ім’я. В кожній таблиці є один, або більше стовпчиків, кожен з яких має визначений тип та своє унікальне (в межах таблиці) ім’я. В кожній таблиці є нуль, або більше рядків, кожен з яких містить одне значення даних в кожному стовпчику, при чому це значення має тип свого рядка. Рядки в таблиці не впорядковані. Відношення між таблицями реалізуються за первинних та зовнішніх ключів.

  • Слайд 14

    Первинний ключ

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 14 В правильно побудованій реляційній БД в кожній таблиці є один, або декілька стовпчиків, значення яких в усіх рядках унікальні. Цей стовпчик (чи стовпчики) називається первинним ключемтаблиці. На практиці, в якості первинного ключа, як правило, слід обирати ідентифікатори, такі як номер рейсу, номер потягу, тощо.

  • Слайд 15

    Зовнішні ключі

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 15 Стовпчик однієї таблиці, значення в якому співпадає зі значенням стовпчика, що є первинним ключем іншої таблиці, називається зовнішнім ключем. Зовнішній ключ, як і первинний, може являти собою комбінацію декількох стовпчиків. Зовнішні ключі слугують для зв’язування кількох таблиць. Якщо таблиця пов’язана з кількома іншими таблицями, то вона може мати декілька зовнішніх ключів. Пара «первинний ключ – зовнішній ключ» задає відношення предок/нащадок між таблицями, що їх містять.

  • Слайд 16

    SQL. Стандарти SQL

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 16 SQL. Мовою реляційних, а відповідно і об’єктно-реляційних БД є мова SQL. Ця мова базується на численні кортежів. Стандарти SQL. Одним з найважливіших кроків з визнання SQL на ринку стала його стандартизація. Перший стандарт SQL-86, прийнятий інститутом ANSI та підтриманий ISO з’явився в 1986 році. Після цього світ побачили наступні стандарти: SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2006, SQL:2008.

  • Слайд 17

    Рівні відповідності

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 17 Рівні відповідності.Починаючи з SQL:1999 стандарт має модульну структуру. Основна частина стандарту внесена в розділ «SQL/Foundation», всі інші його частини винесені в окремі модулі. Таким чином, усі СКБД повинні підтримувати основну частину (Core), а інші частини стандартів підтримуються на розгляд виробника СКБД. Далі, розглянемо лише можливості SQL/Foundation.

  • Слайд 18

    Короткий огляд мови SQL

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 18 Для часто виконуваних запитів, або як для допомоги в написанні складних запитів зручно зберігати його як збережений запит, яка складається з результатів цього запиту. Такий запит називається представленням (View). Представлення (View) – це збережений запит, доступний як віртуальна динамічна таблиця, що складається з результатів запиту. Зміна даних в таблицях БД змінює їх у відповідних представленнях.

  • Слайд 19

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 19 Транзакція– це декілька послідовних операторів SQL, які розглядаються як єдине ціле. В транзакції кожен оператор розв’язує частину загальної задачі, але для розв’язання усієї задачі, потрібно, щоб усі ці оператори були виконані. У випадку виникнення проблеми виникає відкат транзакції, тобто не виконується вся послідовність операторів.

  • Слайд 20

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 20 Часто, при настанні певних подій в БД (наприклад, додавання чи оновлення видалення) потрібно виконувати певні процедури. Наприклад, при видаленні певного товару в магазині, можливо потрібно видалити всі не виконані замовлення на цей товар. Для таких дій використовуються тригери. Тригер– це збережена процедура, використання якої обумовлено настанням визначеної події у БД, як: додавання, вилучення чи зміна даних. Тригери застосовуються для забезпечення цілісності даних. Тригер запускається сервером автоматично при настанні події з якою він пов’язаний. Всі здійснені ним модифікації даних розглядаються як виконані в транзакції.

  • Слайд 21

    Основні типи даних, визначені в стандаритах SQL

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 21

  • Слайд 22

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 22

  • Слайд 23

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 23 Рядкові та символьні константи повинні міститися в одинарних чи подвійних лапках. УВАГА!!! Назви типові даних в різних СКБД не завжди співпадають між собою та з рекомендаціями стандарту SQL.

  • Слайд 24

    Вирази в SQL

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 24 Вирази в SQL використовуються для виконання операцій над значеннями, прочитаними з БД чи тими, що використовуються для пошуку в БД. Вирази можуть включати в себе дужки, арифметичні операції +, -, *, / та деякі функції:

  • Слайд 25

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 25 Крім цього, використовуються агрегатні функції, які дозволяють отримувати різні види статистичної інформації, використовуючи в якості аргументу деякий стовпчик повністю, а повертаючи одне значення.

  • Слайд 26

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 26 Для складних виразів використовуються дужки.

  • Слайд 27

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 27 Нехай маємо базу даних бібліотеки:

  • Слайд 28

    Деякі оператори SQL

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 28

  • Слайд 29

    Запит на створення таблиці CREATE TABLE

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 29 ::= CREATE TABLE () [] [] [] [] Розглянемо більш детально секції запиту

  • Слайд 30

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 30 складається із визначень стовпчиків через кому. ::= [DEFAULT значення] [DEFAULT значення] – означає значення по замовчуванню, а [NOT NULL] – означає, що відповідне значення не може бути не порожнім. ::= PRIMARY KEY()

  • Слайд 31

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 31 ::= [] () REFERENCE [MATCH FULL | PARTIAL ] [ON DELETE CASCADE | SET NULL | SET DEFAULT | NO ACTION ] [on UPDATE ` CASCADE | SET NULL | SET DEFAULT | NO ACTION ]

  • Слайд 32

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 32 Тут, REFERENCE задає таблицю-предок з якою відбувається зв’язування.   [ON DELETE CASCADE | SET NULL | SET DEFAULT | NO ACTION ] та [on UPDATE CASCADE | SET NULL | SET DEFAULT | NO ACTION ] – задають правила поведінки при видаленні чи оновленні даних,   ::= UNIQUE() ::= CHECK()

  • Слайд 33

    Приклад 1 (MS SQL Server)

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 33 CREATE TABLE [AUTHORS]( [AU_ID] [int] IDENTITY(1,1) NOT NULL, [AU_NAME] [nvarchar](50) NOT NULL, [AU_INFO] [ntext] NULL, CONSTRAINT [PK_AUTHORS_1] PRIMARY KEY CLUSTERED ( [AU_ID] ASC ))   CREATE TABLE [DIC_CATEGORIES]( [DC_ID] [int] IDENTITY(1,1) NOT NULL, [DC_NAME] [nvarchar](50) NOT NULL, [DC_INFO] [text] NULL, CONSTRAINT [PK_DIC_CATEGORIES] PRIMARY KEY CLUSTERED ( [DC_ID] ASC ))

  • Слайд 34

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 34 CREATE TABLE [DIC_STATUSES]( [DS_ID] [int] NOT NULL, [DS_NAME] [nvarchar](20) NOT NULL, CONSTRAINT [PK_DIC_STATUSES] PRIMARY KEY CLUSTERED ([DS_ID] ASC))    CREATE TABLE [READERS]( [RD_ID] [int] IDENTITY(1,1) NOT NULL, [RD_NAME] [nvarchar](50) NOT NULL, [RD_ADDRESS] [ntext] NULL, [RD_INFO] [ntext] NULL, CONSTRAINT [PK_READERS] PRIMARY KEY CLUSTERED ([RD_ID] ASC))

  • Слайд 35

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 35 CREATE TABLE [BOOKS]( [BK_ID] [int] IDENTITY(1,1) NOT NULL, [BK_NAME] [nvarchar](50) NOT NULL, [BK_INFO] [ntext] NULL, [BK_DC] [int] NOT NULL, CONSTRAINT [PK_BOOKS] PRIMARY KEY CLUSTERED ([BK_ID] ASC), CONSTRAINT [FK_BOOKS_DIC_CATEGORIES] FOREIGN KEY([BK_DC]) REFERENCES [DIC_CATEGORIES] ([DC_ID])) CREATE TABLE [AUTHORS_BOOKS]( [AB_BK] [int] NOT NULL, [AB_AU] [int] NOT NULL, CONSTRAINT [PK_AUTHORS_BOOKS] PRIMARY KEY CLUSTERED ([AB_BK] ASC,[AB_AU] ASC), CONSTRAINT [FK_AUTHORS_BOOKS_AUTHORS] FOREIGN KEY([AB_AU]) REFERENCES [AUTHORS] ([AU_ID]), CONSTRAINT [FK_AUTHORS_BOOKS_BOOKS1] FOREIGN KEY([AB_BK]) REFERENCES [BOOKS] ([BK_ID]))  

  • Слайд 36

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 36 CREATE TABLE [READERS_BOOKS]( [RB_ID] [int] IDENTITY(1,1) NOT NULL, [RB_RD] [int] NOT NULL, [RB_BK] [int] NOT NULL, [RB_ISSUE] [date] NOT NULL, [RB_PLAN_RETURN] [date] NOT NULL, [RB_DS] [int] NOT NULL, [RB_FACT_RETURN] [date] NULL, CONSTRAINT [PK_READERS_BOOKS] PRIMARY KEY CLUSTERED ([RB_ID] ASC),  CONSTRAINT [FK_READERS_BOOKS_BOOKS1] FOREIGN KEY([RB_BK]) REFERENCES [BOOKS] ([BK_ID]),  CONSTRAINT [FK_READERS_BOOKS_DIC_STATUSES] FOREIGN KEY([RB_DS])REFERENCES [DIC_STATUSES] ([DS_ID]),  CONSTRAINT [FK_READERS_BOOKS_READERS] FOREIGN KEY([RB_RD]) REFERENCES [READERS] ([RD_ID]))

  • Слайд 37

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 37 Створимозайвутаблицю: CREATE TABLE [BOOKS1]( [BK1_ID] [int] IDENTITY(1,1) NOT NULL, [BK1_INFO] [ntext] NULL, CONSTRAINT [PK_BOOKS1] PRIMARY KEY CLUSTERED ([BK1_ID] ASC))  

  • Слайд 38

    ЗАПИТ НА ЗМІНУ СТРУКТУРИ ІСНУЮЧОЇ ТАБЛИЦІ ALTER TABLE

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 38 ::= ALTER TABLE ADD | ALTER SET DEFAULT | DROP DEFAULT |DROP CASCADE|RESTRICT | ADD [] [] [] [] |DROP CONSTRAINT CASCADE|RESTRICT  Секції аналогічні до секцій запиту на створення таблиці.

  • Слайд 39

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 39 Змінимо структуру таблиці BOOKS, додавши до неїновийстовпчик: Приклад 2.  ALTER TABLE [BOOKS1]  ADD [BK1_NAME] [nvarchar](50) NOT NULL

  • Слайд 40

    ЗАПИТ НА ВИДАЛЕННЯ ТАБЛИЦІ DROP TABLE

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 40 ::= DROP TABLE [CASCADE | RESTRICT] Розглянемо більш детально секції запиту Якщо задано параметр CASCADE, і в БД існують об’єкти, які містять посилання на видаляємо таблицю (містять відповідний зовнішній ключ), то видалення не відбудеться. Для видаленнятаблиціBOOKS1 з базиданихбібліотекистворимонаступний запит. Приклад 3. DROP TABLE [BOOKS1]  

  • Слайд 41

    ЗАПИТ НА ДОДАВАННЯ НОВИХ РЯДКІВ INSERT

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 41 ::= INSERT INTO [()] VALUES ()    ::=  | | , |,

  • Слайд 42

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 42 Виконаємо послідовно наступні запити на додавання нових записів. INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES ('ЗубенкоВ.В.', '')   INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES ('Омельчук Л.Л.', '')   INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES ('Нікітченко М.С.', '')   INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES ('Шкільняк С.С.', '')   INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES ('Лавріщева К.М.', '')

  • Слайд 43

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 43 [AUTHORS]

  • Слайд 44

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 44 INSERT INTO [DIC_CATEGORIES] ([DC_NAME]) VALUES ('Програмування')   INSERT INTO [DIC_CATEGORIES] ([DC_NAME]) VALUES ('Логіка')

  • Слайд 45

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 45 [DIC_CATEGORIES]

  • Слайд 46

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 46 INSERT INTO [BOOKS] ([BK_NAME], [BK_INFO], [BK_DC]) VALUES ('Програмування', 'ІНФОРМАЦІЯ Програмування',1)   INSERT INTO [BOOKS] ([BK_NAME], [BK_INFO], [BK_DC]) VALUES ('Програмнаінженерія', 'ІНФОРМАЦІЯ Програмна інженерія', 1)   INSERT INTO [BOOKS] ([BK_NAME], [BK_INFO], [BK_DC]) VALUES ('Математична логіка та теорія алгоритмів', 'ІНФОРМАЦІЯ Математична логіка та теорія алгоритмів', 2)

  • Слайд 47

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 47 [BOOKS]

  • Слайд 48

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 48 INSERT INTO [AUTHORS_BOOKS] ([AB_AU], [AB_BK]) VALUES (1, 1) INSERT INTO [AUTHORS_BOOKS] ([AB_AU], [AB_BK]) VALUES (2, 1) INSERT INTO [AUTHORS_BOOKS] ([AB_AU], [AB_BK]) VALUES (3, 3) INSERT INTO [AUTHORS_BOOKS] ([AB_AU], [AB_BK]) VALUES (4, 3) INSERT INTO [AUTHORS_BOOKS] ([AB_AU], [AB_BK]) VALUES (5, 2)

  • Слайд 49

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 49 [AUTHORS_BOOKS]

  • Слайд 50

    ЗАПИТ НА ПОШУК SELECT

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 50 ::= SELECT [ALL | DISTINCT | DISTINCTROW] | * FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ]  

  • Слайд 51

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 51 Секція | *   “*” означає, що повернути потрібно всі стовпчики із заданого списка таблиць секції FROM; – перераховує через кому імена стовпчиків, що містяться в таблицях, які перераховані в секції FROM. Стовпчики в результуючій таблиці будуть розміщені в порядку перерахування іх в. У випадку, якщо стовпчику в результуючій таблиці потрібно присвоїти нове ім’я, то можна зазначати імена стовпчиків наступним чином: AS . Крім того, в якості елементів цього списку можуть бути обчислювані значення елементів деяких із стовпчиків. Для отримання значення таких стовпчиків потрібно вказати виразйого обчислення із значень, що зберігаються в БД.

  • Слайд 52

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 52 Секція FROM Задає список таблиць, перерахованих через кому, які беруть участь в запиті. У випадку, якщо в декількох таблицях секції FROMприсутнє однакове ім’я (або за бажанням) можна зазначати імена стовпчиків наступним чином:., тут повинно належати списку секції FROM. Секція WHERE Для визначення умови відбору рядків, слід використати секцію WHERE. Рядок відбирається, якщо результат предиката, заданого в має результат TRUE.

  • Слайд 53

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 53 Розглянемо основні умови пошуку:  =          >   >=  Перевірка на належність діапазону значень [NOT] BETWEEN AND Перевірка на належність множині [NOT] IN ()

  • Слайд 54

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 54 Перевірка на відповідність шаблону [NOT] LIKE [ESCAPE ] Перевірка на рівність значенню NULL IS [NOT] NULL Для побудови складних умов пошуку використовуються дужки та AND, OR та NOT.

  • Слайд 55

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 55 Секція GROUP BY Надає командугрупувати рядки, що мають спільне значення елементів зазначених стовпчиків таким чином, щоб функція агрегації могла бути застосована до кожної групи. Секція HAVING Для визначення умови відбору груп рядків, слід використати секцію HAVING. Відбирається група, яка задовольняє умові. Умова аналогічна умові в секції WHERE. Секція HAVING майже завжди використовується разом з секцією GROUP BY.

  • Слайд 56

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 56 Секція ORDER BY Використання цієї секції дозволяє відсортувати результати запиту. Тут з перерахування через кому .   ::= [] [ASC | DESC] Тут ASC – сортування в лексико-графічному порядку за зростанням, а DESC – за спаданням.

  • Слайд 57

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 57 Приклад 4.  Додамов таблицю авторів послідовнонаступні записи:  INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES (‘Пушкін О.С.', '')   INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES (‘Шевченко Т.Г.', '')   Тепер знайдемо авторів у яких немає книжок в нашій бібліотеці: DELETE FROM [AUTHORS] WHERE [AU_ID] NOT IN (SELECT [AB_AU] FROM [AUTHORS_BOOKS]) ■

  • Слайд 58

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 58   Додамо книгу: INSERT INTO [BOOKS] ([BK_NAME],[BK_INFO],[BK_DC]) VALUES ('Теорія алгоритмів', '', 2) Та автора ційкнизі: INSERT INTO [AUTHORS_BOOKS] ([AB_BK], [AB_AU]) VALUES (5,4)

  • Слайд 59

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 59 Знайдемовсіх авторів та їх кількість книг в бібліотеці, і відсортуємо список за алфавітом:  SELECT [AU_NAME], COUNT([AB_BK]) AS [COUNT_BOOKS] FROM [AUTHORS], [AUTHORS_BOOKS] WHERE  ([AU_ID] = [AB_AU]) GROUP BY [AU_ID], [AU_NAME] ORDER BY [AU_NAME]

  • Слайд 60

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 60 Результат виконаннязапиту:

  • Слайд 61

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 61 INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES (‘Пушкін О.С.', '') INSERT INTO [AUTHORS] ([AU_NAME], [AU_INFO])VALUES (‘Шевченко Т.Г.', '')

  • Слайд 62

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 62 Тепер знайдемо авторів у яких немає книжок в нашій бібліотеці: SELECT [AU_ID], [AU_NAME] FROM [AUTHORS] WHERE [AU_ID] NOT IN ( SELECT [AB_AU] FROM [AUTHORS_BOOKS] )

  • Слайд 63

    ЗАПИТ НА ВИДАЛЕННЯ РЯДКІВ DELETE

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 63 ::= DELETE FROM [WHERE ]   Секція [WHERE ] аналогічна до такої секції в запиті на пошук.

  • Слайд 64

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 64 Для йоговидаленнядостатньовиконати один з наступнихзапитів: DELETE FROM [AUTHORS]WHERE (([AU_ID] = 20) OR([AU_ID] = 21))   Або   DELETE FROM [AUTHORS]WHERE (([AU_NAME] = 'Пушкін О.С.‘) OR ([AU_NAME] = ‘Шевченко Т.Г.’))

  • Слайд 65

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 65 Нехай потрібновидалитиавторів, книжокяких в бібліотецінемає: DELETE FROM [AUTHORS] WHERE [AU_ID] NOT IN (SELECT [AB_AU] FROM [AUTHORS_BOOKS])

  • Слайд 66

    ЗАПИТ НА ОНОВЛЕННЯ ІСНУЮЧИХ ДАНИХ UPDATE

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 66 ::= UPDATE SET [WHERE ]   Секція [WHERE ] аналогічна до такої секції в запиті на пошук.

  • Слайд 67

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 67 Помістимо в поле DA_INFO таблиці DIC_AUTHOR для авторів книги 1 відповідну інформацію: Приклад ?.2.   UPDATE [AUTHORS] SET [AU_INFO]= 'АВТОР КНИГИ Програмування' WHERE [AU_ID]IN ( SELECT [AB_AU]FROM [AUTHORS_BOOKS]WHERE [AB_BK]=1 )

  • Слайд 68

    ПРОГРАМУВАННЯ 2 курс, ф-т КІБЕРНЕТИКИ Омельчук Л. Л. 68 Після виконання цього запиту маємо наступні дані в таблиці AUTHORS:

Посмотреть все слайды

Сообщить об ошибке