Знакомства с MS SQL Server

Изучение интерфейса среды управления SQL Server Management Studio. Создание учетной записи и базы данных. Исследование конструкции OFFSET и FETCH. Характеристика основ фильтрации данных и логических операторов. Создание и удаление представлений.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 05.10.2022
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Лабораторная работа 14

Инструкции OLAP

Цель работы

Изучить использование ROLLUP.

Изучить использование CUBE.

Изучить использование GROUPING SETS.

Изучить использование PIVOT.

Изучить использование UNPIVOT.

Теоретическая часть

Operator ROLLUP создаёт группу для каждого сочетания выражений столбцов. Кроме того, выполняет сведение результатов в промежуточные и общие итоги. Для этого запрос пе- ремещается справа налево, уменьшая количество выражений столбцов, по которым он создает группы и агрегаты. Синтаксис команды имеет следующий вид:

GROUP BY ROLLUP(<список столбцов>) или

GROUP BY <список столбцов> WITH ROLLUP

Порядок столбцов влияет на выходные данные ROLLUP и может отразиться на коли- честве строк в результирующем наборе.

GROUP BY ROLLUP(col1, col2) создает группы для каждой комбинации выражений столбцов в следующих списках:

col1, col2 col1, NULL

NULL, NULL - это общий итог.

Оператор CUBE создает группы для всех возможных сочетаний столбцов. Синтаксис команды имеет следующий вид:

GROUP BY CUBE(<список столбцов>) или

GROUP BY <список столбцов> WITH CUBE

GROUP BY CUBE(col1, col2) создает группы для каждой комбинации выражений столбцов в следующих списках:

col1, col2 col1, NULL

NULL, col2

NULL, NULL - это общий итог.

Оператор GROUPING SETS позволяет объединять несколько предложений GROUP BY в одно предложение GROUP BY. Результаты эквивалентны тем, что формируются с примене- нием конструкции UNION ALL к указанным группам. Синтаксис команды имеет следующий вид:

GROUP BY GROUPING SETS(<список столбцов>)

Если параметр GROUPING SETS имеет два или более элементов, результатом будет объединение элементов.

SQL не консолидирует повторяющиеся группы, созданные для списка GROUPING SETS.

GROUP BY GROUPING SETS(col1, col2) создает группы для каждой комбинации выражений столбцов в следующих списках: col1, NULL

NULL, col2

Для предложения GROUP BY, использующего ROLLUP, CUBE или GROUPING SETS, допускается максимум 32 выражения.

Функция GROUPING указывает, является ли указанное выражение столбца в списке GROUP BY статистическим или нет. В результирующем наборе возврат будет 1 (статистиче- ское выражение) или ноль (нестатистическое выражение). Функция GROUPING может ис- пользоваться только в предложениях SELECT, HAVING и ORDER BY, если указано предло- жение GROUP BY.

Функция GROUPING_ID вычисляет уровень группирования. Функция GROUPING_ID может использоваться только в предложениях SELECT, HAVING и ORDER BY, если указано предложение GROUP BY.

Оператор PIVOT поворачивает возвращающее табличное значение выражение, преоб- разуя уникальные значения одного столбца выражения в несколько выходных столбцов. В случае необходимости PIVOT также объединяет оставшиеся повторяющиеся значения столбца и отображает их в выходных данных.

Синтаксис PIVOT является более простым и понятным, чем синтаксис, который может выполнить то же действие с помощью последовательности инструкций SELECT...CASE. Син- таксис имеет следующий вид:

SELECT < столбцы для группировки>, <пивотируемые столбцы > FROM

(<запрос возвращающий данных>) AS <псевдоним>

PIVOT

(<агрегирующая функция>(<столбец>)

FOR [<столбец, значения которого будут заголовками>] IN (<список пивотируемых столбцов>)

) AS <псевдоним для пивот-таблицы>

Оператор UNPIVOT поворачивает возвращающее табличное значение выражения, пре- образуя нескольких выходных столбцов в один столбец. Синтаксис имеет следующий вид:

SELECT <список столбцов> FROM

<таблица> UNPIVOT

(<столбец значения строк> FOR [<столбец, значения заголовок>] IN (<список анпивотируемых столбцов>)

) AS <псевдоним для анпивот-таблицы>

Практическая часть

Таблица Ученики:

ID

Фамилия

Предмет

Школа

Баллы

1

Иванова

Математика

Лицей

98,5

2

Петров

Физика

Лицей

99

3

Сидоров

Математика

Лицей

88

4

Полухина

Физика

Гимназия

78

5

Матвеева

Химия

Лицей

92

6

Касимов

Химия

Гимназия

68

7

Нурулин

Математика

Гимназия

81

8

Авдеев

Физика

Лицей

87

9

Никитина

Химия

Лицей

94

10

Барышева

Химия

Лицей

88

Пример 1: Напишите запрос, который выводит количество учеников по предметам по каждой школе, и промежуточные итоги:

SELECT

Предмет

,Школа

,COUNT(Фамилия) AS Количество

FROM

Ученики

GROUP BY

Предмет, Школа WITH ROLLUP

Пример 2: Напишите запрос, который выводит количество учеников по предметам и по школам, и промежуточные итоги:

SELECT

FROM

Предмет

,Школа

,COUNT(Фамилия) AS Количество

Ученики

GROUP BY

Предмет, Школа WITH CUBE

Пример 3: Напишите запрос, который выводит количество учеников по предметам и по школам:

SELECT

Предмет

,Школа

,COUNT(Фамилия) AS Количество

FROM

Ученики

GROUP BY

GROUPING SETS(Предмет, Школа)

Пример 4: Напишите запрос, который выводит количество учеников по предметам по каждой школе и промежуточные итоги. NULL значения заменить на соответствующий текст:

SELECT

COALESCE(Предмет, 'ИТОГО') AS Предмет

,COALESCE(Школа, 'Итого') AS Школа

,COUNT(Фамилия) AS Количество

FROM

Ученики

GROUP BY

ROLLUP(Предмет, Школа)

Пример 5: Напишите запрос, который выводит количество учеников по предметам и по школам, и промежуточные итоги. В итоговых строках NULL значения заменить на соот- ветствующий текст в зависимости от группировки:

SELECT

IIF(GROUPING(Предмет)=1, 'ИТОГО', Предмет) AS Предмет

,IIF(GROUPING(Школа)=1, 'Итого', Школа) AS Школа

,COUNT(Фамилия) AS Количество

FROM

Ученики

GROUP BY

CUBE(Предмет, Школа)

Пример 6: Напишите запрос, который выводит количество учеников по предметам и по школам. В итоговых строках NULL значения заменить на соответствующий текст в зави- симости от уровней группировки:

SELECT

CASE GROUPING_ID(Предмет, Школа) WHEN 1 THEN 'Итого по предметам' WHEN 3 THEN 'Итого'

ELSE ''

END AS Итого

,ISNULL(Предмет, '') AS Предмет

,ISNULL(Школа, '') AS Школа

,COUNT(Фамилия) AS Количество

FROM

Ученики

GROUP BY

ROLLUP(Предмет, Школа)

Пример 7: Напишите запрос, который выводит количество учеников по предметам по столбцам:

SELECT

'Количество' AS [Количество учеников по предметам]

,Математика

,Физика

,Химия

FROM

(

SELECT

Предмет

,Фамилия

FROM

Ученики

) AS SOURCE_TABLE PIVOT

(

COUNT(Фамилия)

FOR Предмет IN (Математика, Физика, Химия)

) AS PIVOT_TABLE

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

SELECT

Школа

,Математика

,Физика

,Химия

FROM

(

SELECT

Школа

,Предмет

,Фамилия

FROM

Ученики

) AS SOURCE_TABLE PIVOT

(

COUNT(Фамилия)

FOR Предмет IN (Математика, Физика, Химия)

) AS PIVOT_TABLE

Пример 9: Напишите запрос, который выводит фамилию учеников и предметы вместе со школами в один столбец:

SELECT

Фамилия,

[Предмет или школа] FROM Ученики

UNPIVOT (

[Предмет или школа] FOR Значение IN (Предмет, Школа)

) unpvt

Задание

Напишите запрос, который выводит максимальный балл учеников по школам, по каждому предмету по каждой школе и промежуточные итоги.

Напишите запрос, который выводит минимальный балл учеников по школам и по предметам, и промежуточные итоги.

Напишите запрос, который выводит средний балл учеников по школам и по предметам.

Напишите запрос, который выводит количество учеников по каждой школе по пред- метам и промежуточные итоги. NULL значения заменить на соответствующий текст.

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

Напишите запрос, который выводит максимальный балл учеников по школам и по предметам. В итоговых строках NULL значения заменить на соответствующий текст в зави- симости от уровней группировки.

Напишите запрос, который выводит средний балл учеников по школам в столбцы.

Напишите запрос, который выводит средний балл учеников по школам в столбцы и по предметам в строки.

Напишите запрос, который выводит названия предметов, фамилии учеников и школы в один столбец.

Лабораторная работа № 19

Динамический SQL, XML и JSON

Цель работы

Изучить использование динамического SQL.

Изучить вывод данных в формате XML.

Изучить вывод данных в формате JSON.

Теоретическая часть

В интерактивных приложениях часто состав SQL-запросов заранее не известен и может изменяться в зависимости от условий.

Для решения таких ситуаций используется динамический SQL. Запросы формируются в виде текстовых строк непосредственно во время работы программы. Выполнение динамиче- ского SQL медленнее, чем статического.

Для выполнения динамического SQL используется команда EXEC | EXECUTE. Упро- щенный синтаксис имеет следующий вид:

EXEC | EXECUTE (<строка динамического SQL>)

Результат выполнения запроса можно получать в формате XML. Для этого в запросе необходимо указать предложение FOR XML.

В предложении FOR XML можно указать один из следующих режимов:

RAW - в этом режиме создается одиночный элемент <row> для каждой строки набора строк, возвращенного инструкцией SELECT. XML-иерархию можно создать с помощью напи- сания вложенных запросов FOR XML.

AUTO - в этом режиме вложенность XML создается эвристически, в зависимости от метода определения инструкции SELECT.

EXPLICIT - этот режим предоставляет больше возможностей по управлению формой XML-структуры. В XML-структуре могут быть использованы смешанные атрибуты и эле- менты. Однако написание запросов в режиме EXPLICIT может быть очень обременительным. PATH - этот режим совместно с вложенным запросом FOR XML обеспечивает гиб-

кость режима EXPLICIT более простым образом.

Эти режимы на самом деле работают только при выполнении запросов, для которых они установлены. Они не влияют на результаты любых последующих запросов.

Результат выполнения запроса можно получать в формате JSON. Для этого в запросе необходимо указать предложение FOR JSON. Предложение FOR JSON упрощает клиентские приложения, делегируя форматирование выходных данных JSON из приложения в SQL Server.

В предложении FOR XML можно указать один из следующих режимов:

PATH - этот режим используется для того чтобы сохранить полный контроль над форматом выходных данных JSON. Можно создавать объекты-оболочки и вкладывать сложные свойства друг в друга.

AUTO - этот режим используется для того чтобы отформатировать выходные данные автоматически на основе структуры инструкции SELECT.

Практическая часть

Пример 1: Создайте и запустите динамический SQL-запрос, выбирающий все данные из заданной таблицы:

DECLARE @DSQL VARCHAR(100) DECLARE @TN VARCHAR(50)

SET @TN = 'Ученики'

SET @DSQL = 'SELECT * FROM ' + @TN EXECUTE (@DSQL)

Пример 2: Создайте и запустите динамический SQL-запрос, выбирающий всех учени- ков из таблицы «Ученики», вторая буква фамилии которых расположена в заданном диапа- зоне:

DECLARE @L1 CHAR(1) DECLARE @L2 CHAR(1)

SET @L1 = 'а' SET @L2 = 'д'

EXECUTE ('SELECT * FROM Ученики WHERE Фамилия LIKE ''_[' + @L1 + '-' + @L2+ ']%''')

Пример 3: Создайте временную таблицу #Temp и добавить в нее название пяти таблиц из базы данных «Учебная». Создайте курсор, который, построчно читая таблицу #Temp, вы- бирает из каждой таблицы все данные:

CREATE TABLE #TEMP (

TABLENAME VARCHAR(50)

)

INSERT INTO

#TEMP

VALUES

('Дисциплина'),

('Заявка'),

('Инженер'),

('Кафедра'),

('Сотрудник')

DECLARE TC CURSOR FOR SELECT TABLENAME FROM #TEMP

OPEN TC

DECLARE @TN VARCHAR(50)

FETCH FROM TC INTO @TN WHILE @@FETCH_STATUS = 0 BEGIN

EXECUTE ('SELECT * FROM ' + @TN) FETCH FROM TC INTO @TN

END

CLOSE TC DEALLOCATE TC

DROP TABLE #TEMP

XML:

Пример 4: Выберите данные из таблицы «Ученики» и экспортируйте в RAW формате

SELECT

ID

,Фамилия

,Предмет

,Школа

,Баллы

FROM

Ученики

FOR XML RAW

XML:

Пример 5: Выберите данные из таблицы «Страны» и экспортируйте в PATH формате

SELECT

Название

,Столица

FROM

,Площадь

,Население

,Континент

Страны

FOR XML PATH

JSON:

Пример 6: Выберите данные из таблицы «Ученики» и экспортируйте в PATH формате

SELECT

ID

,Фамилия

,Предмет

,Школа

,Баллы

FROM

Ученики

FOR JSON PATH

Задание

Создайте и запустите динамический SQL-запрос, выбирающий первые N строк из заданной таблицы.

Создайте и запустите динамический SQL-запрос, выбирающий все страны из таб- лицы «Страны», последняя буква названия которых расположена в заданном диапазоне.

Создайте временную таблицу #Temp и добавьте к ней название столбцов таблицы

«Страны». Создайте курсор, который, построчно читая таблицу #Temp, выбирает каждый раз соответствующий столбец из таблицы «Страны».

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

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

Выберите список европейских стран из таблицы «Страны» и экспортируйте в RAW формате XML.

Выберите список стран с населением больше 100 млн. чел. из таблицы «Страны» и экспортируйте в PATH формате XML.

Выберите список учеников из школы «Лицей» из таблицы «Ученики» и экспорти- руйте в PATH формате JSON

Лабораторная работа 15

Пространственные данные

Цель работы

Изучить пространственные данные.

Изучить тип данных GEOMETRY.

Изучить тип данных GEOGRAPHY.

Теоретическая часть

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

SQL Server поддерживает два пространственных типа данных: GEOMETRY и GEOGRAPHY.

Пространственный тип данных GEOMETRY представляет данные в евклидовой (плос- кой) системе координат.

Пространственный тип данных GEOGRAPHY представляет данные в системе коорди- нат для сферической Земли.

Типы данных GEOMETRY и GEOGRAPHY поддерживают шестнадцать объектов пространственных данных или типов экземпляров. Однако только одиннадцать из этих типов экземпляров являются материализуемыми. Такие экземпляры можно создавать в базе данных и работать с ними.

Часто используемые объекты:

POINT(X Y) - для геометрических типов данных представляет собой единое место, где x и y представляют координаты создаваемого экземпляра. Для географических типов данных представляет единичное расположение, где X представляет широту, а Y - долготу. Значения широты и долготы измеряются в градусах. Значения широты находятся в интервале [-90, 90]. Значения долготы находятся в интервале [-180, 180].

LINESTRING(X1 Y1, X2 Y2[, Xn Yn]) - является одномерным объектом, представляющим последовательность точек и соединяющих их линейных сегментов.

CIRCULARSTRING(X1 Y1, X2 Y2, X3 Y3 [, Xn Yn]) - коллекция, состоящая из нуля или большего количества непрерывных круговых сегментов дуги. Сегмент дуги - это сегмент кривой, определяемый тремя точками на двумерной плоскости; первая точка не может совпадать с третьей. Если все три точки сегмента дуги лежат на одной прямой, сегмент дуги считается линейным сегментом.

POLYGON(X1 Y1, X2 Y2, X3 Y3 [, Xn Yn], X1 Y1) - представляет собой двухмерную поверхность, хранимую в виде последовательности точек, содержащую не менее трех уникальных точек, первая и последняя точки должны совпадать.

Практическая часть

Пример 1: Создайте временную таблицу, которая имеет один столбец типа GEOME- TRY. Добавьте в таблицу пространственный объект LINESTRING с координатами (1 1, 3 3, 2

4, 2 0, 1 1). Создайте SQL-запрос, выбирающий все данные из заданной таблицы:

CREATE TABLE #ST (

D GEOMETRY

)

INSERT

#ST VALUES

('LINESTRING(1 1, 3 3, 2 4, 2 0, 1 1)')

SELECT

D

FROM

#ST

DROP TABLE #ST

Пример 2: Создайте временную таблицу, которая имеет один столбец типа GEOMETRY. Добавьте в таблицу пространственный объект POLYGON с координатами (-3 7, 10 24, 30 16, 13 18, 4 0, 14 -6, 6 -13, 0 -4, -14 -13, -22 -39, -20 -7, -7 3, -11 7, -12 9, -11 10, -9 10,

-3 7). Создайте SQL-запрос, выбирающий все данные из заданной таблицы:

CREATE TABLE #ST (

D GEOMETRY

)

INSERT

#ST VALUES

('POLYGON((-3 7, 10 24, 30 16,

13 18, 4 0, 14 -6,

6 -13, 0 -4, -14 -13,

-22 -39, -20 -7, -7 3,

-11 7, -12 9, -11 10,

-9 10, -3 7))')

SELECT

D

FROM

#ST

DROP TABLE #ST

Задание

Создайте временную таблицу, состоящую из двух полей типа geometry и varchar(20). Заполните таблицу заданными полигонами и их названиями. Выберите все поля из таблицы.

Номер участка

Долгота

Широта

Участок №6

Точка №1

21369,11

21603,40

Точка №2

21584,64

21162,81

Точка №3

21587,40

21027,71

Точка №4

20727,78

21009,83

Точка №5

20720,45

21369,76

Точка №6

20898,96

21373,41

Участок №3

Точка №1

20728,49

20975,13

Точка №2

20740,38

20393,97

Точка №3

21107,99

20401,49

Точка №4

21103,40

20625,44

Точка №5

21160,39

20626,63

Точка №6

21153,08

20983,82

Участок №4

Точка №1

21588,12

20992,79

Точка №2

21597,74

20441,54

Точка №3

21269,66

20435,81

Точка №4

21266,28

20629,74

Точка №5

21209,25

20628,75

Точка №6

21203,01

20985,98

Участок №7

Точка №1

22775,32

21461,21

Точка №2

23234,54

21075,88

Точка №3

22977,79

20610,45

Точка №4

22637,02

20798,44

Точка №5

22549,38

21051,51

Номер участка

Долгота

Широта

Участок №8

Точка №1

22624,91

19970,80

Точка №2

22854,97

20387,52

Точка №3

22398,62

20639,24

Точка №4

22168,68

20222,45

Участок №11

Точка №1

23621,55

20255,27

Точка №2

23855,79

20314,44

Точка №3

23827,55

20426,38

Точка №4

23946,32

20641,48

Точка №5

23569,81

20849,18

Точка №6

23524,91

20850,59

Точка №7

23295,70

20435,08

Участок №12

Точка №1

23596,67

19981,86

Точка №2

23366,76

19565,04

Точка №3

22944,29

19798,09

Точка №4

23174,24

20214,89

Участок №13

Точка №1

23974,68

20627,60

Точка №2

23863,62

20422,64

Точка №3

23928,00

20159,98

Точка №4

23792,27

19913,93

Точка №5

24068,07

19761,76

Точка №6

24412,47

20386,08

Участок №14

Точка №1

24045,03

19732,76

Точка №2

23622,57

19965,83

Точка №3

23392,62

19549,03

Точка №4

23815,10

19315,97

Участок №5 зап

Точка №1

21638,11

20993,74

Точка №2

21649,39

20442,59

Точка №3

21793,84

20445,55

Точка №4

22017,66

20851,20

Точка №5

21754,09

20996,13

Участок №5 вост

Точка №1

22348,79

20662,78

Точка №2

22059,86

20822,21

Точка №3

21854,05

20449,22

Точка №4

21856,16

20390,95

Номер участка

Долгота

Широта

Точка №5

22118,83

20246,02

Участок №7 А

Точка №1

23231,72

20470,38

Точка №2

23004,06

20595,96

Точка №3

23257,96

21056,22

Точка №4

23460,94

20885,90

Участок № б/н

Точка №1

22899,36

20403,01

Точка №2

23127,02

20277,41

Точка №3

23217,83

20442,02

Точка №4

22990,17

20567,60

Участок № б/н

Точка №1

22869,16

20419,68

Точка №2

22536,51

20603,15

Точка №3

22627,15

20767,87

Точка №4

22959,86

20584,33

Участок № б/н

Точка №1

22407,55

20676,04

Точка №2

22559,71

20927,48

Точка №3

22608,36

20789,50

Точка №4

22513,51

20617,58

Участок №8

Точка №1

22651,93

19957,66

Точка №2

22881,85

20374,45

Точка №3

23109,51

20248,85

Точка №4

22879,56

19832,05

Участок № б/н

Точка №1

23618,51

20009,77

Точка №2

23650,78

20068,26

Точка №3

23610,13

20229,12

Точка №4

23284,66

20408,66

Точка №5

23193,85

20244,05

Участок № б/н

Точка №1

23635,13

20229,91

Точка №2

23860,44

20286,85

Точка №3

23891,24

20165,00

Точка №4

23761,22

19929,80

Точка №5

23638,63

19996,93

Точка №6

23676,61

20065,78

Озеро

Точка №1

21637,28

21029,09

Номер участка

Долгота

Широта

Точка №2

21634,42

21174,83

Точка №3

21414,03

21625,36

Точка №4

22150,41

21985,58

Точка №5

22751,91

21480,87

Точка №6

22515,53

21054,35

Точка №7

22544,07

20975,30

Точка №8

22385,66

20688,12

Точка №9

21763,52

21031,31

Практическая работа

Создать таблицы (не менее 5-и) по своему варианту.

Заполнить таблицы (справочные таблицы - не менее 5-и строк, операционные таб- лицы - не менее 20-и).

Создать запросы:

Запрос на выбор всех данных по двум полям таблицы;

Запрос на выбор всех неповторяющихся данных по одному полю таблицы;

Запрос на выбор всех полей и записей таблицы, сгруппированных по значению од- ного поля, с использованием условия на группу (секции GROUP BY, HAVING) и с заголов- ками колонок, заданными в запросе;

Запрос на выбор всех неповторяющихся записей по одному полю таблицы с колон- кой, образованной агрегирующей функцией SUM и озаглавленной в соответствии со смыслом;

Выбор нескольких (не всех) полей таблицы, отсортированных по убыванию;

Выбор произвольного количества полей таблицы с добавлением поля, являюще- гося результатом арифметического выражения, в котором участвуют значения поля таблицы;

Запрос на выбор всех записей по одному полю таблицы с колонкой, образованной агрегирующей функцией SUM и озаглавленной в соответствии со смыслом; выбор записей с использованием условия диапазона (between);

Запрос на выбор всех записей по произвольному количеству полей таблицы с ис- пользованием агрегирующей функции AVG и условием на отбор записей, заданном в секции WHERE;

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

Запрос на выборку данных таблицы с условием сравнения по шаблону LIKE; Запрос с отбором по условию и сортировкой по убыванию одного из полей, а также добавлением поля, содержащего для всех записей константу, определенную при конструиро- вании запроса;

Запрос с использованием агрегирующих функций MIN и MAX;

Запрос с использованием сложного условия с логическими операторами AND, OR и сортировкой.

ВАРИАНТЫ ЗАДАНИЙ

Задание

Дополнительные возможности системы

Базы данных

Ориентировочные таблицы:

1.

«Студенческая библиотека»

«Список студентов»

«Список книг»

«Деятельность»

2.

«Страховая фирма»

«Виды страховок»

«Клиенты\объекты»

«Страховая деятельность»

3.

«Агентство недвижимости»

«Объекты недвижимости»

«Продажи»

«Покупки»

4.

ГИБДД (Государственная инспекция безопасности дорожного движения)

«Список водителей»

«Список автомобилей»

«Штрафы»

5.

«Деканат ВУЗа»

«Список студентов»

«Список предметов»

«Сессия»»

6.

«Отдел кадров производственного пред- приятия»

«Сотрудники»

«Штатное расписание»

«Отделы»

«Цеха»

7.

«Фирмы покупки и продажи автомобилей»

«Продажи»

«Покупки»

«Автомобили»

8.

«Гостиница»

«Номера»

«Счета»

«Клиенты»

9.

«Расчет квартплаты ТСЖ»

«Список жильцов»

«Оплаты»

«Тарифы»

10

«Железнодорожные кассы»

«Продажи»

«Посадочные места»

«Направления»

11

«Авиапассажирские перевозки»

«Рейсы»

«Самолеты»

«Продажи»

12

«Музей»

«Экспонаты»

«Авторы»

«Экспозиции»

Задание

Дополнительные возможности системы

Базы данных

Ориентировочные таблицы:

13

«Спортивные комплексы района»

«Нормативы»

«Спортсмены»

«Соревнования»

14

«Экзаменационная сессия»

«Предметы»

«Оценки»

«Студенты»

15

«Турагентство»

«Туры»

«Продажи»

16

«Аптека»

«Товары»

«Поставщики»

«Продажи»

17

«Сборка и реализация компьютеров»

«Продукция»

«Клиенты»

«Заказы»

18

«Продуктовые магазины района»

«Продажи»

«Отделы»

«Товары»

19

«Больница» (одного отделения)

«Больные»

«Диагнозы»

«Врачи»

20

«Видеотека»

«Артисты»

«Фильмы»

«Продажи»

Библиографический список

1. Алапати С.P. Oracle Database 11g: Руководство администратора баз данных / Пер. с англ. М.: Вильямc, 2010.

2. Андон Ф., Резниченко В. Язык запросов SQL: Учебный курс. СПб.: Питер; Киев: Издательская группа BHV, 2006.

3. Аносов А. Критерии выбора СУБД при создании информационных систем.

4. Бондарь А.Г. Microsoft SQL Server 2014. СПб.: БХВ-Петербург, 2015.

5. Борри Х. Fireblrd: Руководство разработчика баз данных / Пер. с англ. СПб.: БХВ- Петербург, 2006.

6. Виейра Р. Программирование баз данных Microsoft SQL Server 2005 для профес- сионалов / Пер. с англ. М.: ООО «И.Д. Вильямс», 2008.

7. Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных: Учеб. пособие. М.: Форум; ИНФРА-М, 2012.

8. Гринвальд Р., Стаковьяк Р., Стерн Дж. Oracle 11g. Основы / Пер. с англ. 4-е изд. СПб.: СимволПлюс, 2009.

9. Грофф Дж., Вайнберг П., Оппель Э. SQL: Полное руководство / Пер. с англ. 3-е изд. М.: ООО «И.Д. Вильямс». 2015.

10. Дейт К. Введение в системы баз данных. М.: Наука, 1980. 464 с.

11. Дейт К.Дж. Введение в системы баз данных / Пер. с англ. 8-е изд. М.: Издатель- ский дом «Вильямс», 2005.

12. Ковязин А.Н., Востриков С.М. Мир InterBase: архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yafill. 4-е изд. М.: КУДИЦ-ОБРАЗ, 2006.

13. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и со- провождение. Теория и практика: учеб. пособие; пер. с англ. 2-е изд. М.: Вильямс, 2000. 1120 с.

14. Кристофидес Н. Теория графов. Алгоритмический подход / Пер. с англ. М.: Мир, 1978. 432 с.

15. Логинов Д. Почему мне нравится FireBird.

16. Мейер М. Теория реляционных баз данных. М.: Мир, 1987. 608 с.

17. Пери Дж., Пост Дж. Введение в Oracle 10g / Пер. с англ. М.: ООО «И.Д. Вильямс», 2006.

18. Петкович Д. Microsoft® SQL Sеrvеr 2012. Руководство для начинающих / Пер. с англ. СПб.: БХВ-Петербург, 2013.

19. Полякова Л. Основы SQL: электронный курс.

20. Пржиялковский В. Контекст сеанса в Oracle.

21. Руководство по языку SQL СУБД FireBird 4.0 / Под ред. Д. Симонова.

22. Селко Д. Стиль программирования Джо Селко на SQL / Пер. с англ. М.: Русская редакция; СПб.: Питер, 2006. Словарик по FireBird.

23. Ульман Дж. Основы систем баз данных. М.: Финансы и статистика, 1983. 334 с.

24. Функции по категориям.

25. Bonie Н. FireBird 3.0 Release Notes, 2013.

26. Chen P.P.-S. The Entity-relationship Model: Toward a Unified View of Data // SIGIR Forum. 1975. Vol. 10, no. 3. Pp. 9-9.

27. Codd E.F. A Relational Model of Data for Large Shared Data Banks // Commun. ACM. 1970. Vol. 13, no. 6. Pp. 377-387.

28. Fagin R. The Decomposition Versus Synthetic Approach to Relational Database Design

29. // Proceedings of the 3rd International Conference on Very Large Data Bases. Vol. 3. VLDB Endow- ment, 1977. Pp. 441-446. (VLDB '77).

30. Kossmann D., Stocker K. Iterative Dynamic Programming: A New Class of Query Op- timization Algorithms // ACM Trans. Database Syst. 2000. Vol. 25, no. 1. Pp. 43-82.

31. Lorentz D., Roeser М.В. Oracle Database SQL Language Reference, 11g Release 1 (11.1).

32. Moore S. Oracle Database Express Edition 2 Day Developer's Guide, 11g Release 2 (11.2).

33. Moore S. Oracle Database PL/SQL Language Reference, 11g Release 2 (11.2).

34. Murray С. Oracle Database Express Edition 2 Day DBA, 11g Release 2 (11.2).

35. Nanda A. Efficient PL/SQL Coding // Arup Nanda. Oracle Database 11g: The Тор New Features for DBAs and Developers.

36. Oracle Pipelined Таble Functions.

37. The Notions of Consistency and Predicate Locks in a Database System / K.P. Eswaran [et al.] // Commun. ACM. 1976. Vol. 19, no. 11. Pp. 624-633.

Размещено на Allbest.ru


Подобные документы

  • Основные конструкции структурированного языка запросов SQL. Изучение среды MS SQL Server Management Studio, проверка подлинности. Создание таблиц базы данных. Таблица specialit, сourse, group, discipline, account. Проектирование структур данных.

    лабораторная работа [963,2 K], добавлен 14.01.2016

  • Цель инфологического моделирования базы данных. Создание с помощью СУБД Microsoft SQL Server шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц и связей между ними. Создание процедур и запросов.

    курсовая работа [721,4 K], добавлен 29.11.2009

  • Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.

    курсовая работа [2,9 M], добавлен 29.06.2015

  • Установка "Microsoft SQL SERVER 2012". Создание файла данных, журнала транзакций, таблиц, запросов и фильтров, диаграмм и триггеров, табличных форм и отчетов. Подключение файла данных к проекту. Создание простых и сложных ленточных форм для работы с ними.

    курсовая работа [1,9 M], добавлен 13.12.2013

  • Создание однотабличных баз данных и ключей, индексирование однотабличной БД с помощью конструктора таблиц Table Designer в SQL Server Management Studio. Понятие и назначение индексов кластерного и некластерного типов, инструкция по их созданию в БД.

    лабораторная работа [684,9 K], добавлен 01.12.2011

  • Основные сведения об SQL Server. Логическая структура реляционной базы данных. Создание базы данных Server. Обработка элементов оператора SELECT. Структура таблиц inserted и deleted. Ввод данных в таблицу "Клиенты". Краткая справка по языку запросов SQL.

    курсовая работа [2,9 M], добавлен 11.05.2012

  • Системный анализ и анализ требований к базе данных. Особенности создания отчетов, запросов и форм в Visual Studio 2012. Программная реализация ER-диаграммы. Создание инфологической, логической и физической модели базы данных. Генерация ее в SQL Server.

    курсовая работа [1,0 M], добавлен 22.11.2012

  • Подготовка к установке SQL Server 2000. Аппаратные ресурсы, влияющие на производительность работы сервера. Выбор учетной записи для служб SQL Server и SQL Server Agent. Создание файлов инициализации установки. Содержимое уникальных папок экземпляра.

    презентация [440,0 K], добавлен 10.11.2013

  • Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.

    курсовая работа [897,6 K], добавлен 21.11.2011

  • Словесное описание предметной области. Построение схемы функциональных зависимостей. Реализация базы данных средствами утилиты Enterprise Manager в формате SQL Server Management Studio. Разработка алгоритмов работы программы и приложения пользователя.

    дипломная работа [1,8 M], добавлен 26.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.