
- •1)Базы данных. История развития.
- •2)Определение бд
- •3)Архитектура базы данных. Иерархическая модель данных.
- •4) Архитектура базы данных. Сетевая модель данных.
- •5)Архитектура базы данных. Реляционная модель данных.
- •6)Система управления базами данных. Функции субд.
- •7)Жизненный цикл бд
- •8)Этапы проектирования базы данных.
- •9)Трехуровневая архитектура базы данных.
- •10)Проектирование базы данных.
- •11) Модель сущность-связь. Правила отношений между сущностями. Формирование связей для отношений 1:1.
- •12)Модель сущность-связь. Правила отношений между сущностями. Формирование связей для отношений 1:м.
- •13)Модель сущность-связь. Правила отношений между сущностями. Формирование связей для отношений м:n.
- •Нормализация бд.
- •15.Транзакция.
- •17.Oltp-системы
- •18.Хранилища данных (Data Warehouse)
- •19.Администрирование бд.
- •20.Защита инф. В бд
- •21. Команды sql защите инф-ии.
- •22.Резервное коп-ие бд.
- •23.Восстановление бд.
- •Структурированный язык создания sql.
- •Удаление избыточных данных.
- •26.Выбор при использование предложений. Примеры простых предикат.
- •33. Явные операции соединения таблиц.
- •34.Традиционные операции над множествами. Декартово произведение, объединение.
- •35.Традиционные операции над множествами. Пересечение и разность.
- •36.Команды описания данных ddl.
- •37) Изменение свойств в таблице Alter table
- •38. Команды модификации языка dml (ввод значений).
- •40. Изменение значение Update.
35.Традиционные операции над множествами. Пересечение и разность.
В стандарте языка SQL имеются предложения для выполнения операций пересечения и разности: -intersect
-except
Которые работают аналогично как пред union.
Для пересечения в результирующий набор попадут только те строки, которые присутствуют в обоих запросах
Для разности в результирующий набор попадут те строки 1-ого запроса, которые отсутствуют во 2-ом.
Однако, многие СУБД не поддерживают эти предложения. Это справедливо и для Microsoft SQL Server. Поэтому для выполнения операций пересечения и разности могут быть использованы другие средства. Напр, оператор EXISTS , который исп-ся с подзапросом. Предикат EXISTS принимает значение истина, если подзапрос возвращает какое-либо количество строк, иначе его значение=ложь. Для NOT EXISTS все наоборот. Обычно предикат EXISTS исп-ся в зависимых подзапросах. Этот подзапрос имеет внешнюю ссылку со значением в основном запросе. Результат подзапроса может зависеть от этого значения и должен оценив-ся отдельно для каждой строки запроса, в котором содержится данный подзапрос. Поэтому предикат EXISTS может иметь разные значения для кажд строки основного запроса. пример(пересечение). Найти тех производителей ПК-блокнотов, которые производят принтеры. select distinct lap.maker from product as lap where type=’laptop’ and exists (select maker from product where type=’printer’ and maker=lap.maker)
Maker |
A |
В подзапросе выбираются производители принтеров и срав-ся с производителем, значение которого предается из осн запроса. В осн запрос отбираются производители ПК-блокнотов.
Пример(разность). Найти тех произ-ей ПК-блокнотов, которые не производятпринтеры.
select distinct lap.maker from product as lap where type=’laptop’ and not exists (select maker from product where type=’printer’ and maker=lap.maker)
36.Команды описания данных ddl.
1.Создание базы данных
Create datebase
Синтаксис команды:
Create datebase_name;
Name – имя создаваемой БД
Пример: Create datebase comp_firma;
2. удаление БД
drop datebase
Синтаксис команды:
drop datebase_name;
name – имя удаляемой БД
3.Создание таблицы
Create table
Пример: Create table product 1(maker text);
После выполнения этой комады будет создана таблица product 1 одним столбцом maker, в котором будет запис-ся данные типа text. Т.к данные в эту таблицу ещё не вводились,кол-во строк в столбце = 0. Параметры product 1 и maker назыв-ся идентификаторами,т.к они задают имена для конкретных объектов БД, В данном случае – имя для таблицы и столбца. Символы исп-ые для идентификаторов должны удовлетворять определенным правилам. В обычных идентификаторах может исп-ся только буквы,цифры и символы подчеркивания.Идентификатор не должен содержать знаков пунктуации, пробела и спец.символов.Кроме того он не может нач-ся с цифры или знака подчеркивания.
Команда для создания таблицы с несколькими столбцами: Create table table_name(column_name1 type, column_name2 type,…); table_name – имя новой таблицы.
Column_name – имена полей ,которые будут присутствовать в создаваемой таблице.
Type – определяет тип создаваемого поля.
Пример:создадим таблицу prouct.
Create table product (maker text,model text,type text);
К типу данных можно присоед-ть модификаторы, которые задают его «поведение»,и те операции,которые можно(или наоборот запрещено )вып-ть соотв-ми столбцами.
- not null – означает,что данное поле не может содержать неопред-ое значение,т.е поле обез-но д/б инициализировано при вставке новой записи в таблицу.(если не задано значение по умолчанию).
Пример: если для нашей табл. продукт нужно указать,что поле maker не может иметь неопред-го зн-ия,то команда create table запишется так: create table product (maker text. Not null, model text,type text);
Primary key – отражает,что поле явл-ся первичным ключом,т.е идентификатором записи на к-ый можно ссылаться.
Пример: create table product(maker text,model text,type text,primary key(model));
create table product(maker text,model text,primary key,type text);
Auto_increment – при вставке новой записи поле получит уникальное значение, так что в таблице никогда не будет существовать 2 поля с одинаковыми именами.
Default – задает значение по умолчанию,для поля,к-ый будет использовано для этого поля,если не было указано зн-ие.
Пример: create table product1(maker text default ‘F’);