Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

merged

.pdf
Скачиваний:
10
Добавлен:
01.03.2016
Размер:
10.39 Mб
Скачать

многоточие (...) – указывает на то, что непосредственно предшествующая ему синтаксическая единица может повторяться

один или более раз;

 

 

 

 

прямая черта (|) – означает

наличие выбора из

двух или

более

возможностей.

Например

обозначение

ASC|DESC

указывает, можно выбрать

один

из

терминов ASC

или DESC;

когда же один из элементов выбора заключен в квадратные скобки, то это означает, что он выбирается по умолчанию (так, [ASC]|DESC означает, что отсутствие всей этой конструкции будет восприниматься как выбор ASC);

точка с запятой (;) – завершающий элемент предложений SQL;

запятая (,) – используется для разделения элементов списков;

пробелы ( ) – могут вводиться для повышения наглядности между любыми синтаксическими конструкциями предложений SQL;

прописные латинские буквы и символы – используются для написания конструкций языка SQL и должны (если это специально не оговорено) записываться в точности так, как показано;

строчные буквы – используются для написания конструкций,

которые

должны

заменяться

конкретными

значениями,

выбранными

пользователем,

причем

для

определенности

отдельные слова

этих

конструкций связываются между собой

символом подчеркивания

(_);

 

 

 

термины таблица, столбец, ... – заменяют (с целью сокращения текста синтаксических конструкций) термины имя_таблицы,

имя_столбца, ..., соответственно;термин таблица используется для обобщения таких видов

таблиц, как базовая_таблица, представление или псевдоним; здесь псевдоним служит для временного (на момент выполнения запроса) переименования и (или) создания рабочей копии базовой таблицы или представления.

Инструкция SELECT (выбрать) имеет следующий формат (упрощенный):

SELECT

[[ALL] | DISTINCT] { * | элемент_SELECT [[AS]

[псевдоним_столбца]

 

[,элемент_SELECT [AS] [псевдоним_столбца]] ...}

FROM

{базовая_таблица | представление} [AS] [псевдоним]

 

[,{базовая_таблица | представление} [AS] [псевдоним]] ...

[WHERE

условие_where]

[GROUP BY

список_ group_by

 

[HAVING условие_having]]

[ORDER BY

список_order_by

[ FOR UPDATE [ OF таблица [. ...]]] [ LIMIT { число | ALL } [ { OFFSET | . } начало ] ]

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 4

1. Трьохрівнева архітектура ANSI/SPARC.

Для формирования единого представления пользователя о БД комитетом Ansi-Sparc в 1975 году была предложена трехуровневая архитектура систем с базами данных, обеспечивающая независимость программ от данных. Такая Архитектура обеспечивает потребности различных пользователей, выполнение их запросов, а также внутренние потребности, связанные с представлением данных во внешней памяти компьютера и доступом к ним. В противовес традиционному файловому подходу, при котором программа писалась под определенную задачу и зависела от типов данных, с которыми она работала. Пример: курсовой по программированию и структурам данных на 1-2 курсах.

Внешний уровень – представление БД с точки зрения пользователей (для каждой группы пользователей описываются только необходимая часть БД). Т.е. каждый пользователь имеет свою внешнюю модель «реального мира», и не видит лишние (с его точки зрения) данные. Внешняя модель содержит только те сущности, атрибуты и связи "реального мира", которые интересны пользователю. Другие сущности, атрибуты или связи, которые ему неинтересны, также могут быть представлены в базе данных, но пользователь может даже не подозревать об их существовании. Помимо этого, различные модели могут по-разному отображать одни и те же данные. Например, один пользователь может просматривать даты в формате (день, месяц, год), а другой — в формате (год, месяц, день). Пользователь может быть как прикладным программистом, так и конечным пользователем с любым уровнем профессиональной подготовки. Каждый пользователь имеет свой язык общения с БД. Для программиста - это какой-либо язык программирования, для пользователя - язык запросов или язык, основанный на формах и меню.

Концептуальный уровень – обобщающее представление БД (описывает, какие данные хранятся в БД, а также связи между ними). Это промежуточный уровень в архитектуре. Он содержит логическую структуру всей БД с точки зрения администратора базы данных, а именно: все сущности, их атрибуты и связи; накладываемые на данные ограничения; семантическая информация о данных; информация о поддержке целостности данных. Все внешние модели получаются из данных этого уровня, но этот уровень не содержит никаких сведений о методах хранения данных (например, может быть информация о длине полей и их типе, названии, но нет данных об объеме в байтах и т.п.).

Внутренний уровень – физическое представление базы данных в компьютере. Он описывает, как информация хранится в БД и предназначен для достижения оптимальной производительности и обеспечения экономного распределения дискового пространства. На этом уровне осуществляется взаимодействие СУБД с методами доступа операционной системы для работы с данными.

Основное назначение трехуровневой архитектуры – обеспечение независимости от данных (т.е. чтобы изменения на различных уровнях никак не влияли на другие уровни). Принятое в архитектуре ANSI-SPARC двух уровневое отображение на практике снижает производительность системы, но при этом поддерживает более высокую независимость от данных.

ПОКОРОЧЕ: Для формирования единого представления пользователя о БД комитетом Ansi-Sparc в 1975 году была предложена трехуровневая архитектура систем с базами данных, обеспечивающая независимость программ от данных. При этом центральное место в ней занимает концептуальная модель предметной области и две связанные с ней модели: внешняя и внутренняя. Внешняя модель – это представление БД с точки зрения пользователей. Пользователями системы являются прикладные программисты или конечные пользователи, использующие свой язык общения с БД: Java, C++ – для прикладных программистов; SQL, формы, меню – для конечных пользователей.

Концептуальная модель представляет собой полное описание ПО, состоящее из объектов и связей между ними, без указания конкретных способов их хранения в памяти компьютера (схема

БД).

Внутренняя модель представляет собой физически хранимую БД (файлы) с указанием их типов, структуры записей, наличия индексов и указателей.

Для достижения главной цели применения СУБД – независимости программ от данных – в 3-х уровневой архитектуре используются 2 уровня отображения: внешний-концептуальный (обеспечивает логическую независимость программ от данных) и внутренний-концептуальный (обеспечивает физическую независимость программ от данных).

Логическая независимость – позволяет удалять и добавлять новые характеристики объектов, не затрагивая существующее ранее представление пользователя о БД.

Физическая независимость позволяет в процессе эксплуатации системы изменять методы доступа к данным для достижения требуемой производительности (можно вместо последовательных файлов использовать индексно-последовательные или хеширование).

2. Операція вибірки SELECT. Використання обчислювальних виразів.

Выборка с использованием выражений

Из синтаксиса фразы SELECT видно, что в ней может содержаться не только перечень столбцов таблицы или символ «*», но и выражения. Следует иметь в виду, что вычисляемые столбцы не сохраняются в базе данных, а формируются во временной таблице, создаваемой при выполнении инструкции SELECT. Например, чтобы выдать список всех книг, их цен, размер 10% надбавки к ценам и новые цены, надо ввести запрос

SELECT

“Код_книги”, “Цена” , Цена*0.1, Цена*1.1

FROM

“Книги”

Как видно

из приведенных примеров, при выводе результата запроса каждый

столбец выводится с заголовком, совпадающим с его именем в таблице, а вычисляемые столбцы — с заголовком (No column name). Эти заголовки можно изменять с помощью псевдонимов. Например, в результате выполнения запроса

SELECT “Код_книги”, “Цена” AS “Старая цена”, “Цена”*0.1 AS “Надбавка”, “Цена”*1.1 AS "Новая цена", “Остаток” AS "Имеется в наличии"

FROM “Книги”

будут выведены значения столбца Цена под псевдонимом Старая_цена, столбца Остаток под псевдонимом Имеется в наличии и значения двух вычисляемых столбцов под псевдонимами Надбавка и Новая цена.

Выражения могут состоять из отдельных числовых или текстовых констант, причем последние должны заключаться в одинарные кавычки. Текстовые константы обычно используются в виде пояснений к данным, выводимым в результате выполнения запроса, например:

SELECT DISTINCT 'Книга', "Код_книги", 'Цена', "Цена", 'uah' FROM "Книги" ”

Вариант 5

1. Забезпечення незалежності програм від даних.

Існує трирівнева система організації СКБД ANSI-SPARC, при якій існує незалежний рівень для ізоляції програми від особливостей представлення даних на нижчому рівні.

Рівні:

1.Зовнішній - представлення БД з точки зору користувача.

2.Концептуальний - узагальнене представлення БД, описує які дані зберігаються в БД і зв'язки між ними. Підтримує зовнішні представлення, підтримується внутрішнім рівнем.

3.Внутрішній - фізичне представлення БД в комп'ютері.

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

Фізична незалежність - захищеність концептуальної моделі від змін, які вносяться у внутрішню модель.

Трирівнева архітектура СУБД дозволяє забезпечити незалежність від даних. Це означає, що зміни на нижніх рівнях не впливають на верхні рівні. Розрізняють фізичну і логічну незалежність при роботі з даними. Логічна незалежність від даних означає захищеність зовнішніх схем від змін, що вносяться в концептуальну схему. Зміни концептуальної схеми БД не викликають необхідності в коригуванні існуючих зовнішніх схем для користувачів, і відповідно не викликають змін в застосуваннях, що працюють з цими схемами. Фізична незалежність від даних означає захищеність концептуальної і зовнішніх схем від змін, що вносяться у внутрішню схему. До змін внутрішньої схеми належать використання різних файлових систем або структур даних, різних пристроїв зберігання, модифікація пошукових структур.

Для обеспечения логической независимости программ от данных (например, добавление атрибутов) служит отображение между внешним и концептуальным уpовнем, которое скрывает от пользователей изменение логической структуры БД

Отображение между внутренним и концептуальным позволяет сделать невидимым для приложений изменение структуры хранимых данных (например, изменение способа индексирования)

2.Операція вибірки SELECT. Умови відбору строк.

Отбор строк. Предложение WHERE

Предложение WHERE состоит из ключевого слова WHERE, за которым следует условие поиска, определяющее, какие именно строки требуется выбрать.

Если условие поиска имеет значение TRUE, строка будет включена в результат запроса.

Если условие поиска имеет значение FALSE или NULL, то строка исключается из результата запроса.

Условия отбора строк

Сравнение

Выражение1 =|<>|<|>|<=|>= Выражение2

WHERE stStipend > 650;

Проверка на принадлежность диапазону значений (BETWEEN)

проверяемое_выражение [NOT] BETWEEN минимум AND максимум

WHERE stStipend BETWEEN 650 AND 1100;

Проверка на принадлежность множеству (IN)

проверяемое_выражение [NOT] IN (набор_констант)

WHERE stStipend IN (650, 730, 900);

Проверка на соответствие шаблону (LIKE)

имя_столбца [NOT] LIKE шаблон [ESCAPE символ_пропуска), где

шаблон – это строка, в которую может входить один или более подстановочных знаков.

подстановочные знаки:

% – совпадает с любой последовательностью из нуля или более символов

WHERE stName LIKE ‘Иван%’;

_ (символ подчеркивания) – совпадает с любым отдельным символом.

Проверка на равенство значению NULL (IS NULL)

имя_столбца IS [NOT] NULL

WHERE stStipend IS NOT NULL;

1. Зовнішня, концептуальна та внутрішня моделі БД.

Для формирования единого представления пользователя о БД комитетом Ansi-Sparc

в1975 году была предложена трехуровневая архитектура систем с базами данных, обеспечивающая независимость программ от данных. При этом центральное место

вней занимает концептуальная модель предметной области и две связанные с ней модели: внешняя и внутренняя.

Концептуальная модель

Представляет собой полное описание ПрО, состоящее из объектов и связей между ними, без указания конкретных способов их хранения в памяти компьютера (схема БД).

Изображается в виде схемы БД (лаб.раб.)

Внутренняя модель

Физически хранимая БД

Представляет собой записи, файлы и индексные файлы реально хранящиеся на магнитном диске

Внешняя модель

Внешняя модель – это представление БД с точки зрения пользователей.

Пользователями системы являются прикладные программисты или конечные пользователи, использующие свой язык общения с БД: Java, C++ – для прикладных программистов; SQL, формы, меню – для конечных пользователей.

2. Операція вибірки SELECT. Виключення дублікатів.

Исключение повторяющихся строк

Для исключения повторяющихся строк из результирующей таблицы используется ключевое слово DISTINCT, которое указывается перед списком возвращаемых столбцов.

Билет №7

1. Мова обробки та мова маніпулювання даними.

Існують три аспекти роботи з даними:

визначення даних;маніпулювання (обробка) даних;

керування даними (адміністрування даних).

Тому будь-яка СКБД має в своєму складі мову визначення даних, мову маніпулювання даними та мову адміністрування даних. Ці мови не обов'язково існують як окремі компоненти, а можуть включатися як частини в мову СКБД, наприклад, в SQL. Тому, в мову SQL в якості складових частин входять:

мова визначення даних (Data Definition Language, DDL);

мова маніпулювання даними (Data Manipulation Language, DML);мова керування даними (Data Control Language, DCL).

Підкреслимо, що це не окремі мови, а різні команди однієї мови. Такий поділ проведено тільки лише з точки зору різного функціонального призначення цих команд.

Мова визначення даних

Мова визначення даних (МВД) являє собою мову, яка призначена для опису схеми БД або її частини. За допомогою МВД виконується опис типів даних, їх структур та зв'язків між ними. МВД не є процедурною мовою. Вихідні тексти (опис даних), написані на цій мові після трансляції відображаються в керуючі таблиці адресу пам'яті. У відповідності з отриманим описом СКБД знаходить в базі необхідні дані, перетворює, передає їх, наприклад, в прикладну програму, якої вони потрібні, або визначає місце в пам'яті комп'ютера, куди дані потрібно помістити і в якому вигляді, а також як з даними встановити зв'язок і які дані необхідно скорегувати.

Основні команди мови визначення даних показані в табл. 10.1.

Таблиця 10.1. Команди DDL

Назва команди

CREATE DATABASE

CREATE TABLE

CREATE VIEW

CREATE INDEX

CREATE TRIGGER

Опис

Створити базу даних

Створити таблицю

Створити віртуальну таблицю

Створити індекс Створити тригер

CREATE PROCEDURE Створити збережену процедуру

ALTER DATABASE

Модифікувати базу даних

 

 

ALTER TABLE

Модифікувати таблицю

 

 

ALTER VIEW

Модифікувати віртуальну таблицю

 

 

ALTER INDEX

Модифікувати індекс

 

 

ALTER TRIGGER

Модифікувати тригер

 

 

ALTER PROCEDURE

Модифікувати збережену процедуру

 

 

DROP DATABASE

Видалити базу даних

 

 

DROP TABLE

Видалити таблицю

 

 

DROP VIEW

Видалити віртуальну таблицю

 

 

DROP INDEX

Видалити індекс

 

 

DROP TRIGGER

Видалити тригер

 

 

DROP PROCEDURE

Видалити збережену процедуру

 

 

В залежності від алгоритму роботи конкретної СКБД можливі різні варіанти обробки вихідних текстів описів даних, складених на МВД. В одних випадках опис спочатку транслюється і потім, якщо немає синтаксичних помилок, виконується подальша обробка запиту, в якому присутній цей опис. В інших випадках, можливі попередня трансляція описів для налагодження і виявлення помилок. Потім налагоджені описи поміщаються в (спеціальну) бібліотеку описів, звідки СКБД їх вибирає за ідентифікатором при обробці відповідних запитів (ідентифікатор необхідного опису є в запиті). По-третє, у випадках може використовуватися режим інтерпретації описів при обробці запитів тощо.

Мова маніпулювання даними

Мова маніпулювання даними (ММД) (або мова запитів до БД) представляється зазвичай системою команд маніпулювання даними.

Приклад типових команд:

провести вибірку з бази даного по його найменуванню;провести вибірку з бази всіх даних певного типу, значення яких задовольняють певними ознаками;

знайти в базі позицію даного і помістити туди його нове значення.

ММД складається з чотирьох основних команд (табл. 10.2.).

Таблиця 10.2. Команди DML

Назва команди Опис

SELECT Вибрати INSERT Вставити UPDATE Оновити DELETE Видалити

Мова керування даними

Мова керування даними (МКД) - призначена для адміністратора системи і дозволяє визначати повноваження користувачів, забезпечує його засобами захисту, оптимізації і підтримки цілісності. Більш точно її можна назвати «мова керування доступом». Вона складається з двох основних команд:

 

Таблиця 10.3. Команди DСL

 

 

 

Назва команди

Опис

 

 

 

 

GRANT

Надати права

 

 

 

 

REVOKE

Забрати права

 

 

 

 

З точки зору прикладного інтерфейсу існують два різновиди команд SQL:

інтерактивний SQL;вбудований SQL.

Інтерактивний SQL використовується в спеціальних утилітах (типу WISQL або DBD), що дозволяють в інтерактивному режимі вводити запити з використанням команд SQL, посилати їх для виконання на сервер і отримувати результати у призначеному для цього вікні. Вбудований SQL використовується в прикладних програмах, дозволяючи їм посилати запити до сервера і обробляти отримані результати, в тому числі комбінуючи set-орієнтований і record-орієнтований підходи.

Ми не будемо наводити точний синтаксис команд SQL, замість цього ми розглянемо їх на численних прикладах, що більш важливо для розуміння SQL, ніж точний синтаксис, який можна подивитися в документації на Вашу СКБД.

2. Операція вибірки SELECT. Використання псевдонимів та обробка невизначених значень.

SELECT (англ., означает «выбрать») — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.

В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. В последнем случае говорят об операции слияния — JOIN. В тех СУБД, где реализованы представления (англ. view) и хранимые процедуры (англ. stored procedure), также возможно получение соответствующих наборов данных.

При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид (набор столбцов) и его содержимое (критерий попадания записи в набор, группировка значений, порядок вывода записей и т. п.).

Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а затем для каждой записи набора проверяется её соответствие заданному критерию. Если

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]