Разделы презентаций


Построение баз данных с помощью SQL. Манипулирование данными в SQL

Содержание

Управление таблицами CREATE TABLE ALTER TABLE DROP TABLE Управление данными SELECT INSERT UPDATE DELETE

Слайды и текст этой презентации

Слайд 1Лекция 17 Построение баз данных с помощью SQL. Манипулирование данными

в SQL

Лекция 17  Построение баз данных с помощью SQL. Манипулирование данными в SQL

Слайд 2Управление таблицами
CREATE TABLE
ALTER TABLE
DROP TABLE
Управление данными
SELECT


INSERT
UPDATE
DELETE

Управление таблицами CREATE TABLE ALTER TABLE DROP TABLE Управление данными SELECT INSERT UPDATE DELETE

Слайд 3Команда создания таблицы – CREATE TABLE
CREATE TABLE имя_таблицы
({|
}
[,…,{|

>}])

Определение_столбца:

[ ] [,…,]

Команда создания таблицы –  CREATE TABLE CREATE TABLE имя_таблицы ({|}[,…,{|}])Определение_столбца:  [ ] [,…,]

Слайд 4Ограничение столбца
::=
[ CONSTRAINT ]
{[ DEFAULT ]
| [

NULL | NOT NULL ]
| [ PRIMARY KEY | UNIQUE

]
| [FOREIGN KEY
REFERENCES <имя_главной_таблицы>[(<имя_столбца> [,…,n])]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
]
| [CHECK (<логическое_выражение>)]
}
Ограничение столбца ::=[ CONSTRAINT ]{[ DEFAULT ]| [ NULL | NOT NULL ]| [ PRIMARY KEY |

Слайд 5Ограничения на уровне таблицы
::=
[ CONSTRAINT ]
{

[ { PRIMARY KEY | UNIQUE }
{( [ASC |

DESC] [,…,n] )}]
| FOREIGN KEY
[ ( <имя_колонки>[,..., n ] ) ]
REFERENCES <внешняя_таблица> [ (<имя_колонки_внешней_таблицы> [, ..., n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
| CHECK (<логическое_выражение> )
}
Ограничения на уровне таблицы ::= [ CONSTRAINT ] { [ { PRIMARY KEY | UNIQUE } {(

Слайд 6Создание таблицы «Студенты» (БД «Сессия»)
CREATE TABLE Студенты
(ID_Студент INTEGER NOT NULL,

Фамилия CHAR(30) NOT NULL,
Имя CHAR(15) NOT NULL,
Отчество CHAR(20) NOT NULL,
Номер_группы

INTEGER NOT NULL,
Адрес CHAR(30),
Телефон CHAR(8),
PRIMARY KEY (ID_Студент))
Создание таблицы «Студенты» (БД «Сессия») CREATE TABLE Студенты(ID_Студент	INTEGER NOT NULL, Фамилия		CHAR(30) NOT NULL, Имя			CHAR(15) NOT NULL, Отчество		CHAR(20)

Слайд 7Создание таблицы «Дисциплины» (БД «Сессия»)
CREATE TABLE Дисциплины
(ID_Дисциплина INTEGER NOT NULL,
Наименование VARCHAR(40)

NOT NULL,
PRIMARY KEY (ID_Дисциплина),
UNIQUE (Наименование))

Создание таблицы «Дисциплины»  (БД «Сессия»)CREATE TABLE Дисциплины(ID_Дисциплина	INTEGER NOT NULL, Наименование	VARCHAR(40) NOT 					NULL, PRIMARY KEY 	(ID_Дисциплина), UNIQUE			(Наименование))

Слайд 8Создание таблицы «Учебный план» (БД «Сессия»)
CREATE TABLE Учебный_план
(ID_План INTEGER NOT NULL,

ID_Дисциплина INTEGER NOT NULL,
Семестр INTEGER NOT NULL,
Количество_часов INTEGER,

ID_Преподаватель INTEGER,
PRIMARY KEY (ID_План),
CHECK ((Семестр >= 1) OR (Семестр <= 10)))
Создание таблицы «Учебный план»  (БД «Сессия»)CREATE TABLE 	Учебный_план(ID_План			INTEGER NOT NULL, ID_Дисциплина 	INTEGER NOT NULL, Семестр			INTEGER NOT

Слайд 9Создание таблицы «Сводная ведомость» (БД «Сессия»)
CREATE TABLE Сводная_ведомость
(ID_Студент INTEGER NOT NULL,

ID_План INTEGER NOT NULL,
Оценка INTEGER NOT NULL,
Дата_сдачи DATETIME NOT NULL,

PRIMARY KEY (ID_Студент, ID_Дисциплина),
CHECK ((Оценка >= 0) OR
(Оценка <= 5)))
Создание таблицы «Сводная ведомость»  (БД «Сессия»)CREATE TABLE Сводная_ведомость(ID_Студент	INTEGER NOT NULL, ID_План		INTEGER NOT NULL, Оценка		INTEGER NOT NULL,

Слайд 10Создание таблицы «Сводная ведомость» (БД «Сессия»)
CREATE TABLE Кадровый_состав
(ID_ Преподаватель INTEGER NOT

NULL,
Фамилия CHAR(30) NOT NULL,
Имя CHAR(15) NOT NULL,
Отчество CHAR(20) NOT NULL,

Должность CHAR(20) NOT NULL,
Кафедра CHAR(3) NOT NULL,
Адрес CHAR(30),
Телефон CHAR(8),
PRIMARY KEY (ID_Преподаватель))
Создание таблицы «Сводная ведомость»  (БД «Сессия»)CREATE TABLE 	Кадровый_состав(ID_ Преподаватель	INTEGER NOT NULL, Фамилия			CHAR(30) NOT NULL, Имя				CHAR(15) NOT

Слайд 11Команда ALTER TABLE
добавить в таблицу определение нового столбца;
удалить столбец

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

первичный ключ таблицы;
добавить или удалить внешний ключ таблицы;
добавить или удалить условие уникальности;
добавить или удалить условие на значение.

ALTER TABLE <имя_таблицы>
[ALTER COLUMN <имя_столбца> [SET DEFAULT <выражение>]|
[DROP DEFAULT]]
|[ADD <определение_столбца>]
|[DROP COLUMN <имя_столбца> [CASCADE]|[RESTRICT]]
|[ADD [<определение_первичного_ключа>]|[<определение_внешнего_ключа>]|
[<условие_уникальности>]|[<условие_на_значение>]]
|[DROP CONSTRAINT <имя_ограничения> [CASCADE]|[RESTRICT]]

Команда ALTER TABLE добавить в таблицу определение нового столбца;удалить столбец из таблицы;изменить значение по умолчанию для какого-либо

Слайд 12Добавление столбца
ALTER TABLE Студенты
ADD Год_поступления INTEGER NOT NULL
DEFAULT

YEAR(GETDATE())
Модификация столбца
ALTER TABLE Студенты
ALTER COLUMN Номер_группы CHAR(6) NOT NULL
Удаление столбца


ALTER TABLE Студенты
DROP COLUMN Год_поступления

Добавление столбца ALTER TABLE СтудентыADD Год_поступления INTEGER NOT NULL 				DEFAULT YEAR(GETDATE())Модификация столбцаALTER TABLE СтудентыALTER COLUMN Номер_группы CHAR(6)

Слайд 13Добавление внешних ключей в таблицу «Учебный_план»
ALTER TABLE Учебный_план
ADD CONSTRAINT

FK_Дисциплина
FOREIGN KEY (ID_Дисциплина)
REFERENCES Дисциплины

ALTER TABLE Учебный_план
ADD CONSTRAINT FK_Кадровый_состав
FOREIGN KEY (ID_Преподаватель)
REFERENCES

Кадровый_состав

ALTER TABLE Сводная_ведомость
ADD CONSTRAINT FK_Студент
FOREIGN KEY (ID_Студент)
REFERENCES Студенты

ALTER TABLE Сводная_ведомость
ADD CONSTRAINT FK_План
FOREIGN KEY (ID_План)
REFERENCES Учебный_план


Добавление внешних ключей в таблицу «Сводная_ведомость»


Добавление внешних ключей в таблицу «Учебный_план» ALTER TABLE Учебный_планADD CONSTRAINT FK_ДисциплинаFOREIGN KEY (ID_Дисциплина)REFERENCES ДисциплиныALTER TABLE Учебный_планADD CONSTRAINT

Слайд 14Удаление ограничений
ALTER TABLE Студент
ADD CONSTRAINT DEF_Номер_группы DEFAULT 1
FOR

Номер_группы
ALTER TABLE Учебный_план
DROP CONSTRAINT FK_Дисциплина
ALTER TABLE Студент
DROP CONSTRAINT DEF_Номер_группы


Удаление внешнего ключа

Удаление значения по умолчанию



Удаление таблицы

DROP TABLE <имя_таблицы>

Удаление ограничений ALTER TABLE СтудентADD CONSTRAINT DEF_Номер_группы DEFAULT 1 				FOR Номер_группы ALTER TABLE Учебный_планDROP CONSTRAINT FK_ДисциплинаALTER TABLE

Слайд 15Извлечение данных – команда SELECT
SELECT
[ INTO ]
FROM


[ WHERE ]
[ GROUP BY ]
[

HAVING <Условие_отбора> ]
[ ORDER BY <Ключи_сортировки> [ ASC | DESC ] ]

SELECT INTO
FROM WHERE
GROUP BY HAVING
UNION ORDER BY
COMPUTE FOR
OPTION

Извлечение данных – команда SELECT SELECT [ INTO ]FROM [ WHERE ] [ GROUP BY ][ HAVING

Слайд 16Раздел SELECT -
SELECT [ ALL | DISTINCT ]
[ TOP

n [ PERCENT ] [ WITH TIES ] ]

обязательный раздел,

который должен указываться в любом запросе: задает набор столбцов, возвращаемых после выполнения запроса, т.е. внешний вид результата
Раздел SELECT - SELECT [ ALL | DISTINCT ][ TOP n [ PERCENT ] [ WITH TIES

Слайд 17Ключевые слова ALL и DISTINCT
SELECT ALL Семестр, Отчетность
FROM Учебный_план
SELECT

DISTINCT Семестр, Отчетность
FROM Учебный_план


Ключевые слова ALL и DISTINCT SELECT ALL Семестр, 		ОтчетностьFROM Учебный_планSELECT DISTINCT Семестр, 			ОтчетностьFROM Учебный_план

Слайд 18Использование ключевого слова ТОР
SELECT TOP 5 * FROM Студенты
SELECT

TOP 10 PERCENT * FROM Студенты


Использование ключевого слова ТОР SELECT TOP 5 * FROM СтудентыSELECT TOP 10 PERCENT * FROM Студенты

Слайд 19Влияние порядка сортировки на возвращаемый набор данных
SELECT TOP 10

PERCENT *
FROM Студенты
ORDER BY Номер_Группы

Влияние порядка сортировки на возвращаемый набор данных SELECT TOP 10 PERCENT * FROM Студенты ORDER BY Номер_Группы

Слайд 20Использование ключевого слова WITH TIES
SELECT TOP 10 PERCENT WITH

TIES * FROM Студенты

Использование ключевого слова  WITH TIES SELECT TOP 10 PERCENT WITH TIES * FROM Студенты

Слайд 21Предложение
::=
{ *
| { | }.*
| {

| }
[ [ AS ] ]
| =

<Выражение>
} [ ,...,n ]

SELECT ID_Дисциплина, Наименование, Семестр
FROM Дисциплина, Учебный_план

SELECT Дисциплина.ID_Дисциплина, Наименование,
Семестр
FROM Дисциплина, Учебный_план


Предложение ::={ *| { | }.*| { | }[ [ AS ] ]| = } [ ,...,n

Слайд 22Запрос для таблицы «Студенты», представляющий фамилию, имя и отчество в

одной колонке
Используем операцию конкатенации (сложения) символьных строк и значение ФИО

в качестве псевдонима столбца:
SELECT TOP 10 Фамилия + ' ' + Имя + ' ' + Отчество as ФИО, Номер_Группы
FROM Студенты


Запрос для таблицы «Студенты», представляющий фамилию, имя и отчество в одной колонкеИспользуем операцию конкатенации (сложения) символьных строк

Слайд 23Раздел FROM
FROM { } [,...,n]

::=

[

[AS] ]|


Псевдоним
tpl
Имя таблицы
«Учебный_план»

Раздел FROM FROM { } [,...,n] ::= 	 [ [AS] ]| 	Псевдоним tplИмя таблицы «Учебный_план»

Слайд 24Раздел WHERE
WHERE |
{= | *= | =*}


SELECT Фамилия, Имя, Отчество, Номер_Группы,
Год_поступления
FROM Студенты
WHERE Год_поступления

< 2000


Раздел WHERE WHERE | 		 {= | *= | =*} SELECT Фамилия, Имя, Отчество, Номер_Группы, 						Год_поступления FROM

Слайд 25Оператор BETWEEN
[NOT] BETWEEN
AND
(>=) AND (

Наименование, Семестр, Количество_часов
FROM Учебный_план INNER JOIN Дисциплины ON
Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина
WHERE

Количество_часов
BETWEEN 50 AND 100


Оператор BETWEEN [NOT] 	BETWEEN 	 				AND 		(>=) AND (

Слайд 26Оператор IN
[NOT] IN (,…,)
SELECT Наименование, Семестр, Количество_часов
FROM Учебный_план

INNER JOIN Дисциплины ON
Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина
WHERE Наименование IN ('Английский

язык', 'Физическая культура')


Оператор IN [NOT] IN (,…,)SELECT Наименование, Семестр, Количество_часовFROM Учебный_план INNER JOIN Дисциплины ON Учебный_план.ID_Дисциплина = Дисциплины.ID_ДисциплинаWHERE Наименование

Слайд 27Оператор LIKE
[NOT] LIKE
SELECT Фамилия, Имя, Отчество, Должность
FROM

Кадровый_состав
WHERE Должность LIKE '%пр%'

Оператор LIKE [NOT] LIKE SELECT Фамилия, Имя, Отчество, ДолжностьFROM Кадровый_составWHERE Должность LIKE '%пр%'

Слайд 28Раздел ORDER BY (сортировка)
SELECT TOP 20 Наименование, Семестр, Количество_часов
FROM Учебный_план,

Дисциплины
WHERE (Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина)
ORDER BY Семестр, Количество_часов DESC

ORDER BY

{<условие_сортировки>[ASC | DESC] }[,...,n]
Раздел ORDER BY (сортировка)SELECT TOP 20 Наименование, Семестр, Количество_часовFROM Учебный_план, Дисциплины WHERE (Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина)ORDER BY Семестр,

Слайд 29Раздел UNION

UNION [ALL]


[UNION [ALL]]

SELECT Фамилия, Имя, Отчество, Должность,

Телефон
FROM Кадровый_состав
WHERE Телефон LIKE '120%'
UNION
SELECT Фамилия, Имя, Отчество, Новый_столбец =

'Студент', Телефон
FROM Студенты
WHERE Телефон LIKE '120%'
ORDER BY Фамилия



Раздел UNION UNION [ALL]…[UNION [ALL]]SELECT Фамилия, Имя, Отчество, Должность, ТелефонFROM Кадровый_составWHERE Телефон LIKE '120%'UNIONSELECT Фамилия, Имя, Отчество,

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика