1.24M
Category: databasedatabase

SQL с нуля

1.

SQL с нуля
Ирина Прудникова
Степан Ким
Анастасия Колос

2.

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

3.

Программа
Лекция 1: Основные концепции проектирования БД
Лекция 2 & 3: Базовые операторы SQL
Лекция 4: Анализ запросов и логов
Финальный тест

4.

Критерии оценки итогов курса
• Активность на занятиях
• Выполненные ДЗ
• Финальный тест
ДЗ присылать ДО ПОНЕДЕЛЬНИКА включительно
Контакты:
Prudnikova Irina – i.prudnikova@a1qa.com
Kim Stepan – s.kim@a1qa.com
Anastasia Kolos – a2.kolos@a1qa.com

5.

БД
База данных − это организованная в соответствии с
определёнными правилами и поддерживаемая в памяти
компьютера совокупность данных, характеризующая актуальное
состояние некоторой предметной области и используемая для
удовлетворения информационных потребностей пользователей

6.

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

7.

Возможности СУБД
Пользовательский интерфейс
Управление конкурентным доступом
Копирование и восстановление данных
Целостность данных
Оптимизация запросов
Физическая и логическая независимость данных

8.

Диалекты языка SQL в СУБД
СУБД
БД
Microsoft SQL
MS SQL, Transact-SQL
Oracle
Pl/SQL Developer, dbForge Studio
for Oracle, Toad
MySQL
PHPMyAdmin, Navicat for MySQL,
Toad for MySQL, dbForge for
MySQL
Informix
Informix-SQL

9.

SQL
Structured Query Language

10.

Модели данных
Иерархическая
Сетевая
Реляционная

11.

12.

13.

Реляционная модель
Строка = Кортеж
Столбец = Атрибут
Ключ – атрибут, значение которого однозначно идентифицирует кортежи

14.

Реляционная модель

15.

Логические связи
А
А
B
А
B
А_B
B

16.

Ключи
Первичный (PRIMARY) – это одно или несколько полей, комбинация значений
однозначно определяет каждую запись в таблице, не может быть null, неизбыточный.
Используется для связывания с внешним ключом в других таблицах.
ФИО
Группа
№ дела
ФИО
Группа
1 1628
Мясников Всеволод Алексеевич
В-401
2 1482
Беляев Ярослав Павлович
В-402
1 Мясников Всеволод Алексеевич
В-401
2 Беляев Ярослав Павлович
В-402
3 Степанов Константин Борисович
Э-301
3 2010
Степанов Константин Борисович
Э-301
4 Беляев Ярослав Павлович
В-402
4 1473
Беляев Ярослав Павлович
В-402
Таблица 2
Таблица 1
Счётчик
Простой ключ
Составной ключ

17.

Ключи
Вторичный (SECONDARY) – одно или несколько полей в таблице,
содержащее ссылку на поля первичного ключа в другой таблице.

18.

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

19.

Требования
Проекты состоят из нескольких заданий.
Каждый сотрудник может участвовать в одном или нескольких проектах, или
временно не участвовать ни в каких проектах.
Над каждым проектом может работать несколько сотрудников.
Над каждым заданием в проекте работает только один сотрудник.
Каждый сотрудник числится в одном отделе.
Каждый сотрудник имеет телефон, находящийся в отделе сотрудника.
О каждом сотруднике необходимо хранить табельный номер и фамилию.
Табельный номер является уникальным для каждого сотрудника.
Каждый отдел имеет уникальный номер.
Каждый проект имеет уникальный номер и наименование.
Каждая работа из проекта имеет номер, уникальный в пределах проекта. Работы
в разных проектах могут иметь одинаковые номера.

20.

Сотрудник, Тел, Проект, Задание
Иванов 11-22-33 Космос 1
Иванов 11-22-33 Климат 1
Петров 11-22-33 Космос 2
Сидоров 33-22-11 Космос 3
Сидоров 33-22-11 Климат 2

21.

Н_СОТР
ФАМ
Н_ОТД
ТЕЛ
Н_ПРО
ПРОЕКТ
Н_ЗАДАН
1
Иванов
1
11-22-33
1
Космос
1
1
Иванов
1
11-22-33
2
Климат
1
2
Петров
1
11-22-33
1
Космос
2
3
Сидоров
2
33-22-11
1
Космос
3
3
Сидоров
2
33-22-11
2
Климат
2

22.

Н_СОТР
ФАМ
Н_ОТД
ТЕЛ
Н_ПРО
ПРОЕКТ
1
Иванов
1
11-22-33
1
2
Космос
Климат
2
Петров
1
11-22-33
3
Сидоров 2
33-22-11
Таблица 1
Таблица 2
Н_СОТР
1
1
2
3
3
Н_ПРО
1
2
1
1
2
Таблица 3
Н_ЗАДАН
1
1
2
3
2

23.

Н_СОТР
1
2
3
ФАМ
Иванов
Петров
Сидоров
Н_ОТД
1
1
2
Н_ОТД
1
2
Таблица 1
Н_ПРО
ПРОЕКТ
1
2
Космос
Климат
Таблица 3
ТЕЛ
11-22-33
33-22-11
Таблица 2
Н_СОТР
1
1
2
3
3
Н_ПРО
1
2
1
1
2
Н_ЗАДАН
1
1
2
3
2
Таблица 4

24.

Connection string
Server=myServerAddress;Port=1234;Database=myDataBase;
Uid=myUsername;Pwd=myPassword;
“Data Source=server\instance;Initial Catalog=DB_Test;
Integrated Security=False;User ID= ITR_Tester;Password=pswrd”

25.

To be continued …
English     Русский Rules