1.07M

Информационные технологии

1.

Информационные технологии
1.
СУБД
2.
Реляционная модель данных
3.
Нормализация данных
4.
Типы данных MS SQL
5.
Structured Query Language
1

2.

1. СУБД
Приложение
СУБД
запрос
Службы СУБД
данные
Файлы БД
Информационные технологии
2

3.

Информационные технологии
1.
СУБД
2.
Реляционная модель данных
3.
Нормализация данных
4.
Типы данных MS SQL
5.
Structured Query Language
3

4.

2. Реляционная модель данных
Отношение – «таблица»
Заголовок отношение – заголовок таблицы
Тело отношения – тело таблицы
Атрибут отношения – наименование столбца таблицы
Кортеж отношения – строка таблицы
Мощность отношения – количество строк таблицы
Информационные технологии
4

5.

2. Реляционная модель данных
Таблица – отношение, если:
- тело отношения не содержит идентичных кортежей
- кортежи отношения не упорядочены
- атрибуты отношения не упорядочены
- все значения атрибутов отношения атомарные
Информационные технологии
5

6.

2. Реляционная модель данных
Виды ключей:
- первичный
- возможный
- внешний
Информационные технологии
6

7.

2. Реляционная модель данных
Виды отношений:
- один-к-одному
- многие-к-одному (один-ко-многим)
- много-ко-многим
Информационные технологии
7

8.

2. Реляционная модель данных
1.
СУБД
2.
Реляционная модель данных
3.
Нормализация данных
4.
Типы данных MS SQL
5.
Structured Query Language
8

9.

2. Реляционная модель данных
Информационные технологии
9

10.

2. Реляционная модель данных
Информационные технологии
10

11.

Информационные технологии
1.
СУБД
2.
Реляционная модель данных
3.
Нормализация данных
4.
Типы данных MS SQL
5.
Structured Query Language
11

12.

4. Типы данных MS SQL
Типы данных (Transact-SQL) :
• Точные числа
• Приблизительные числа
• Дата и время
• Символьные строки
• Двоичные данные
• NULL
Информационные технологии
12

13.

4. Типы данных MS SQL
Точные типы
Название
Длина
Примечание
BIGINT
8 байт
от -2^63 до 2^63-1
INT
4 байт
от -2^31 до 2^31-1
MONEY
8 байт
-922337203685477.5808 до 922337203685477.5807
NUMERIC(p, [s])
4. Типы данных MS SQL
p(точность) - Максимальное количество десятичных разрядов
числа (как слева, так и справа от десятичной запятой), которые
будут храниться.
S (масштаб) - Максимальное количество хранимых десятичных
разрядов числа справа от десятичной запятой.
13

14.

4. Типы данных MS SQL
Приблизительные типы
Название
Длина
Примечание
real
4 байта
- 3.40E+38 — -1.18E-38 и 1.18E-38 — 3.40E+38
float [(n)]
4 или 8
байт
n — это количество битов, используемых для хранения
мантиссы числа в формате float при экспоненциальном
представлении
Информационные технологии
14

15.

4. Типы данных MS SQL
Дата и время
Название
Длина
Примечание
datetime
8 байт
1 января 1753 года — 31 декабря 9999 года
От 00:00:00 до 23:59:59,997
Time[(n)]
До 5
байт
от 00:00:00.0000000 до 23:59:59.9999999
n – точность долей секунды
date
3 байта
от 0001-01-01 до 9999-12-31
Информационные технологии
15

16.

4. Типы данных MS SQL
Символьные строки
Название
char [ ( n ) ]
varchar [ n |max ) ]
4. Типы данных MS SQL
Длина
n байт
Примечание
Строковые данные фиксированной длины не в
Юникоде. Аргумент n определяет длину строки и должен
иметь значение от 1 до 8000.
Строковые данные переменной длины не в
Юникоде. Аргумент n определяет длину строки и должен
иметь значение от 1 до 8000.
16

17.

4. Типы данных MS SQL
NULL — специальное значение (псевдозначение)
NULL соответствует понятию «пустое поле», то есть «поле, не содержащее
никакого значения»
NULL означает отсутствие, неизвестность информации.
Значение NULL не является значением в полном смысле слова: по
определению оно означает отсутствие значения и не принадлежит ни
одному типу данных.
NULL не равно ни логическому значению FALSE, ни пустой строке, ни нулю.
При сравнении NULL с любым значением будет получен результат NULL, а не
FALSE и не 0. Более того, NULL не равно NULL!
Информационные технологии
17

18.

Информационные технологии
1.
СУБД
2.
Реляционная модель данных
3.
Нормализация данных
4.
Типы данных MS SQL
5.
Structured Query Language
18

19.

5. Structured Query Language
Операторы SQL делятся на:
• операторы определения данных (Data Definition Language, DDL):
o CREATE создает объект БД (саму базу, таблицу, представление,
пользователя и т. д.),
o ALTER изменяет объект,
o DROP удаляет объект;
• операторы манипуляции данными (Data Manipulation Language, DML):
o SELECT считывает данные, удовлетворяющие заданным условиям,
o INSERT добавляет новые данные,
o UPDATE изменяет существующие данные,
o DELETE удаляет данные.
Информационные технологии
19

20.

5. Structured Query Language
Основные синтаксические правила составления операторов SELECT:
SELECT <column list>
[FROM <source table(s)> [[AS] <table alias>]
[[{FULL|INNER|{LEFT|RIGHT} OUTER|CROSS}] JOIN <next table>
[ON <join condition>] [<additional JOIN clause> -]]]
[WHERE <restrictive condition>]
[GROUP BY <column name or expression using a column in the SELECT list>]
[HAVING <restrictive condition based on the GROUP BY results>]
[ORDER BY <column list>]
[ ] – не обязательный элемент
<column list> - поля, константы, выражения, функции
<source table(s)> - таблицы, представления
<table alias> - псевдоним таблицы, представления
Информационные технологии
20

21.

5. Structured Query Language
SELECT
(выбрать) данные из указанных столбцов и (если необходимо) выполнить перед выводом их
преобразование в соответствии с указанными выражениями и (или) функциями
FROM
(из) перечисленных таблиц, в которых расположены эти столбцы
WHERE
(где) строки из указанных таблиц должны удовлетворять указанному перечню условий отбора
строк
GROUP BY
(группируя по) указанному перечню столбцов с тем, чтобы получить для каждой группы
единственное агрегированное значение, используя во фразе SELECT SQL-функции SUM
(сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение)
или AVG (среднее значение)
HAVING
(где) группы сформированные в разделе GROUP BY должны удовлетворять указанному
перечню отбора групп
ORDER BY
(упорядочить по) указанному перечню столбцов результаты выбора данных. При этом
упорядочение можно производить в порядке возрастания – ASC (ASCending) или убывания
DESC (DESCending), а по умолчанию принимается ASC
Информационные технологии
21

22.

5. Structured Query Language
Информационные технологии
22

23.

5. Structured Query Language
SELECT 15, 12+45, 'qwerty', 12*(12+11)
SELECT 15 field1, 12+45 field2, 'qwerty' field3, 12*(12+11) field4
Информационные технологии
23

24.

5. Structured Query Language
SELECT * FROM ref_people
ref_people – название таблицы, из которой выбираются данные
* – выборка всех столбцов
Информационные технологии
24

25.

5. Structured Query Language
SELECT surname, name, secname
FROM ref_people
Информационные технологии
SELECT name, surname, secname FROM
ref_people
25

26.

5. Structured Query Language
Операторы, применяемые в конструкции WHERE
традиционные операторы сравнения
• =, >, <, >=,<= - традиционные
• <>, != - не равно
• !>, !< - «не меньше» и «не больше»
<Column Name> =<Other Column Name>
<Column Name> ='Bob'
Информационные технологии
26

27.

5. Structured Query Language
Операторы, применяемые в конструкции WHERE
Стандартные булевы логические операции AND, OR, NOT.
Они могут использоваться для объединения нескольких
условий в одной конструкции WHERE.
В первую очередь выполняется операция NOT, затем AND, а
после этого OR. Если требуется изменить порядок
выполнения операций, то можно ввести круглые скобки
<Column1> =<Column2> AND <Column3> >= <Column 4>
<Column1> !=‘MyLiteral’ OR <Column2> =‘MyOtherLiteral’
Информационные технологии
27

28.

5. Structured Query Language
Операторы, применяемые в конструкции WHERE
BETWEEN – «между», эквивалент A>=B AND A<=C.
<Column1> BETWEEN 1 AND 5
LIKE – «похоже на»
Операция сравнения, позволяющая использовать
символы «%» и «_» в качестве подстановочных знаков.
Символ «%» указывает, что вместо него может быть
подставлено строковое значение любой длины.
Символ «_» указывает, что вместо него может быть
подставлен любой символ…
<Column1> LIKE ‘ROM%’
Информационные технологии
28

29.

5. Structured Query Language
Операторы, применяемые в конструкции WHERE
IN – «принадлежит»
Операция сравнения, которая возвращает TRUE,
если значение, находящееся слева от ключевого
слова IN, согласуется с любым из значений в списке,
находящемся справа от ключевого слова IN.
<Column1> IN (List of Numbers)
<Column1> IN (‘A’, ‘b’, ‘345’)
Информационные технологии
29

30.

5. Structured Query Language
Выбрать тех, с датой рождения
Между 01.01.98 и 01.01.99
SELECT surname
,name
,secname
,birthday
,sex
FROM
ref_people
where
birthday BETWEEN '01.01.1998'
and
'01.01.1999'
Информационные технологии
30

31.

5. Structured Query Language
Выбрать тех, у кого имя АЛЕКСАНДР
SELECT
surname, name, secname
FROM
ref_people
where
name='Александр'
Информационные технологии
31

32.

5. Structured Query Language
Выбрать людей, у которых в имя входит комбинация
символов «ОРО»
SELECT surname
,name
,secname
,birthday
,sex
FROM
ref_people
where
name like '%оро%'
% - любая комбинация символов
Информационные технологии
32

33.

5. Structured Query Language
Выбрать женщин, у которых имя заканчивается на «уп»
SELECT
surname,
name,
secname,
birthday
from
ref_people
where
name like '%уп' and sex = 2
Информационные технологии
33

34.

5. Structured Query Language
Выбрать мужчин, у которых имя начинается на «ур», «ак»,
«фи», «ор» или «пу»
SELECT
surname, name, secname, birthday
from
ref_people
where
(left(name,2) ='ур' or left(name,2) = 'ак' or
left(name,2) = 'фи' or left(name,2) ='ор' or
left(name,2) ='пу') and sex=1
Информационные технологии
34

35.

5. Structured Query Language
SELECT
surname, name, secname, birthday
from
ref_people
where
left(name,2) in ('ур', 'ак', 'фи', 'ор', 'пу')
and sex=1
Информационные технологии
35

36.

5. Structured Query Language
Информационные технологии
36

37.

5. Structured Query Language
Выбрать людей, у которых отчество не заканчивается на
«вич» и «вна», отсортировать по возрастанию ДР
SELECT surname, name, secname, birthday
from ref_people where
right(secname,3) <> 'вна' and right(secname,3) <> 'вич'
order by birthday
Информационные технологии
37

38.

5. Structured Query Language
Выбрать людей, у которых отчество не заканчивается на
«вич» и «вна», отсортировать по убыванию ДР
SELECT surname, name, secname, birthday
from ref_people where
right(secname,3) <> 'вна' and right(secname,3) <> 'вич'
order by birthday desc
Информационные технологии
38
English     Русский Правила