
- •22. Системные базы данных ms sql Server.
- •23.Логическая архитектура базы данных sql Server 2000
- •Язык sql в субд. Назначение, стандарты, достоинства.
- •Диалект Transact-sql. Элементы языка: идентификаторы, комментарии, ключевые слова, команды. Выражения. Операторы.
- •Создание баз данных на языке sql.
- •27. Манипуляция данными на языке sql.
- •28. Запросы на выборку данных на языке sql. Структура оператора select
- •29. Запросы на выборку данных на языке sql. Групповые операции. Примеры
- •30. Запросы на выборку данных на языке sql. Воженные запросы
- •31. Язык sql. Внешние объединения.
Создание баз данных на языке sql.
Операторы создания, модификации и удаления БД в стандарте SQL отсутствуют! В каждой СУБД используются свои подходы для выполнения этих операций. В Oracle БД создается в процессе установки СУБД. В MS Access БД создается командой интерфейса. В SQL Server БД создается командой SQL CREATE DATABASE (DROP DATABASE). Синтаксис:
CREATE DATABASE database_name [ON [DEFAULT|database_device][= size][database_device] [= size]]...] [LOG ON database_device[= size] [,database_device[= size]...] [FOR LOAD]
Создает БД и, возможно, журнал транзакций на указанных devices, size - размер в мегабайтах. При создании новой базы данных используется как образец БД model. Пример: CREATE DATABASE sales ON DEVICE3 = 125 LOG ON DEVICE4 = 60
CREATE TABLE КЛИЕНТЫ(Код integer not null, Фирма varchar(40) not null, КодМен integer not null, МинКредит money default 10000 not null,Primary key (Код),Foreign key FK_клиенты_служащие (КодМен) references СЛУЖАЩИЕ (Код), Check(МинКредит >=5000)
27. Манипуляция данными на языке sql.
Язык манипуляции данными (DML) используется для извлечения и изменения данных в БД. Операторы DML позволяют извлекать, вставлять, изменять и удалять данные в таблицах. Иногда операторы select извлечения данных не рассматриваются как часть DML, поскольку они не изменяют состояние данных. Все операторы DML носят декларативный характер.
операторы манипуляции данными (Data Manipulation Language, DML)
SELECT считывает данные, удовлетворяющие заданным условиям
INSERT добавляет новые данные
UPDATE изменяет существующие данные
DELETE удаляет данные
Представит: SELECT —выборка данных(SELECT Продавец, AVG(Стоим)FROM Заказ GROUP BY Продавец HAVING SUM (Стоим) > 30000), INSERT-вставка данных (INSERT INTO Факультет(имяфак) VALUES (@ИмяФ) ,UPDATE -изменение данных (UPDATE Table2 SET Table2.ColB = Table2.ColB + Table1.ColB FROM Table2 INNER JOIN Table1ON (Table2.ColA = Table1.ColA) ,DELETE -удаление данных(DELETE FROM Production.ProductCostHistory WHERE StandardCost > 100;).Пр:ALTER TABLE КЛИЕНТЫ ADD CONSTRAINT FK_клиенты_служащие Foreign key (КодМен) references СЛУЖАЩИЕ (Код)
28. Запросы на выборку данных на языке sql. Структура оператора select
SELECT [ALL | DISTINCT] <список_столбцов> | * FROM <список_таблиц> [ WHERE <условие_отбора_или_соединения> ] [ GROUP BY <список_столбцов_результата>] [ HAVING <условие_отбора_для_группы> ] [ ORDER BY <список_столбцов_сортировки> [ ASC | DESC ] ] Получение данных из БД выполняет оператор SQL SELECT. SELECT возвращает результат запроса к БД виде таблицы. ALL – в результирующий набор включаются все строки, удовлетворяющие условию запроса (повторы присутствуют). DISTINCT– в результирующий набор включаются только разные строки, удовлетворяющие условию запроса (повтор отсутствуют). * – в результирующий набор включаются все столбцы из заданных в FROM таблиц. В FROM задается перечень исходных таблиц, используемых в запросе. WHERE задается условие отбора строк или условие соединения строк исходных таблиц (отношений). GROUP BY задается список полей группировки для итоговых результатов, значения которых сводятся в одну строку. HAVING задается условие отбора строк для сгруппированных строк.