- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •1.1.2. Классификация субд
- •1.2. Субд начального уровня – MySql
- •1.2.1. Введение в MySql
- •1.2.2. Подготовка к работе с MySql
- •1.2.3. Создание базы данных, основы работы с таблицами MySql
- •1.2.4. Типы данных столбцов MySql
- •1.2.5. Работа с таблицами MySql
- •1.2.6. Логические операторы MySql
- •1.2.7. Команды обработки данных MySql
- •1.2.8. Математические функции MySql
- •1.2.9. Работа с датой и временем в MySql
- •1.2.10. Работа со строками в MySql
- •1.2.11. Дополнительные функции MySql
- •1.3. Субд корпоративного уровня – ms sql Server
- •1.3.1. Общая теория запросов sql
- •1.3.2. Имена в sql
- •1.3.3. Типы данных
- •1.3.4. Константы
- •1.3.5. Выражения
- •1.3.6. Встроенные функции
- •1.3.7. Отсутствующие значения (значения null)
- •1.3.8. Простые запросы sql на выборку данных
- •1.3.9. Предложение select
- •1.3.10. Предложение from
- •1.3.11. Вычисляемые столбцы
- •1.3.12. Выборка всех столбцов (инструкция select *)
- •1.3.13. Повторяющиеся строки (предикат distinct)
- •1.3.14. Отбор строк (предложение where)
- •1.3.15. Условия отбора
- •1.3.16. Составные условия отбора (операторы and, or и not)
- •1.3.17. Сортировка результатов запроса (предложение order by)
- •1.3.18. Правила выполнения однотабличных запросов
- •1.3.19. Сложные запросы
- •1.3.20. Запросы на объединение и повторяющиеся строки
- •1.3.21. Запросы на объединение и сортировка
- •1.3.22. Вложенные запросы на объединение
- •1.3.23. Многотабличные запросы на выборку
- •1.3.24. Запросы с использованием отношения предок/потомок
- •1.3.25. Запросы на выборку к трём и более таблицам
- •1.3.26. Объединение таблиц по неравенству
- •1.3.27. Особенности многотабличных запросов
- •1.3.28. Самообъединения
- •1.3.29. Производительность при обработке многотабличных запросов
- •1.3.30. Умножение таблиц
- •1.3.31. Правила выполнения многотабличных запросов на выборку
- •1.3.32. Внешнее объединение таблиц
- •1.3.33. Левое и правое внешние объединения
- •1.4. Способы взаимодействия программных средств в субд
- •1.4.1. Доступ к базе данных на стороне сервера
- •1.4.2. Доступ к базе данных на стороне клиента
- •1.5. Современные тенденции развития субд
- •1.5.1. Введение
- •1.5.2. Как предсказать тенденции развития субд
- •1.5.3. Эволюционный подход
- •1.5.4. Тенденции развития
- •1. Виртуализация ресурсов и grid-технологии
- •2. Встраивание Information Life Cycle Management (ilm) в субд
- •3. Самоуправление, самодиагностика, самолечение
- •4. Real Application Testing – механизмы промышленного тестирования версий и изменений
- •5. Совершенствование архитектур максимальной доступности
- •6. Включение измерения времени в субд
- •7. Поддержка новых типов данных (xml, rfid, Semantic Web, геном, медицина, быстрые lob и т.Д.)
- •8. Умные механизмы сжатия и дедублирования
- •9. Совершенствование методов защиты данных
- •11. Облачные вычисления (Cloud computing)
- •12. Машины баз данных
- •2.1.2. Администрирование ms sql Server
- •2.2. Повышение надёжности баз данных
- •2.2.1. Обеспечение сохранности данных в MySql
- •2.2.2. Обеспечеие сохранности данных в ms sql Server
- •2.3. Повышение производительности баз данных
- •2.3.1. Повышение производительности MySql
- •2.3.2. Повышение производительности ms sql Server
- •2.4. Повышение безопасности бд
- •2.4.1. Безопасность MySql
- •2.4.2. Безопасность ms sql Server
- •2.5. Модернизация бд в процессе эксплуатации
- •2.5.1. Расширение возможностей MySql
- •2.5.2. Распределённые базы данных
- •Указания по выбору варианта
- •Курсовое проектирование Методические указания по выполнению
- •Цель проектирования
- •Теоретические положения Основные понятия баз данных
- •Этапы проектирования базы данных
- •Модели данных
- •Нормальные формы отношений
- •Задания к выполнению курсового проекта
- •Указания по выбору варианта
- •Правила оформления выполненных заданий
- •Пример проектирования базы данных
1.3. Субд корпоративного уровня – ms sql Server
1.3.1. Общая теория запросов sql
Инструкции SQL
Запросы – это фундамент SQL. Многие разработчики используют SQL исключительно в качестве инструмента для создания запросов к базе данных.
В SQL существует около сорока инструкций (см. таблицу). Каждая из них "просит" СУБД выполнить определённое действие, например извлечь данные, создать таблицу или добавить в таблицу новые данные. Все инструкции SQL имеют одинаковую структуру, которая изображена на рисунке:
Рисунок 1.3.1.1 – Структура предлоения
Основные инструкции SQL
Инструкция |
Описание |
Обработка данных |
|
SELECT |
Извлекает данные из таблицы (таблиц) |
INSERT |
Добавляет новые строки в таблицу |
DELETE |
Удаляет строки из таблицы |
UPDATE |
Обновляет данные, существующие в таблице |
Определение данных |
|
CREATE TABLE |
Добавляет новую таблицу в базу данных |
DROP TABLE |
Удаляет таблицу |
ALTER TABLE |
Изменяет структуру существующей таблицы |
CREATE VIEW |
Добавляет новое представление в базу данных |
DROP VIEW |
Удаляет представление |
CREATE INDEX |
Создаёт индекс для столбца |
DROP INDEX |
Удаляет индекс столбца |
CREATE SCHEMA |
Добавляет новую схему в базу данных |
DROP SCHEMA |
Удаляет схему |
CREATE DOMAIN |
Добавляет новый домен в базу данных |
ALTER DOMAIN |
Изменяет определение домена |
DROP DOMAIN |
Удаляет домен |
Управление доступом |
|
GRANT |
Предоставляет пользователю определенную привилегию доступа |
REVOKE |
Отменяет указанную привилегию доступа |
Управление транзакциями |
|
COMMIT |
Завершает текущую транзакцию |
ROLLBACK |
Отменяет текущую транзакцию |
SET TRANSACTION |
Определяет режим доступа к данным для текущей транзакции |
Программный SQL |
|
DECLARE |
Определяет набор записей, в который будут возвращены результаты запроса |
OPEN |
Открывает набор записей |
FETCH |
Извлекает строку из таблицы результатов запроса |
CLOSE |
Закрывает набор записей |
PREPARE |
Подготавливает инструкцию SQL к динамическому выполнению |
EXECUTE |
Динамически выполняет инструкцию SQL |
DESCRIBE |
Возвращает описание подготовленного запроса |
Каждая инструкция SQL начинается с команды, т.е. ключевого слова, описывающего действие, выполняемое инструкцией.
Типичными командами являются CREATE (создать), INSERT (добавить), DELETE (удалить) и COMMIT (зафиксировать). После команды идёт одно или несколько предложений.
Предложение описывает данные, с которыми работает инструкция, или содержит уточняющую информацию о действии, выполняемом инструкцией.
Каждое предложение также начинается с ключевого слова, такого как WHERE (где), FROM (откуда), INTO (куда) и HAVING (имеющий). Одни предложения в инструкции являются обязательными, а другие – нет. Конкретная структура и содержимое предложения могут изменяться. Многие предложения содержат имена таблиц или столбцов. Некоторые из них могут содержать дополнительные ключевые слова, константы и выражения.
В стандарте ANSI/ISO определены ключевые слова, которые применяются в качестве команд и в предложениях инструкций. В соответствии со стандартом эти ключевые слова нельзя использовать для именования объектов базы данных (таблицы, столбцы, пользователи и т.п.). Во многих СУБД этот запрет ослаблен, однако следует избегать использования ключевых слов в качестве имен таблиц и столбцов. В таблице перечислены ключевые слова SQL (включённые в стандарт SQL2). В стандарте SQL2 определён также список "потенциальных" ключевых слов, которые могут стать таковыми в будущих версиях стандарта (см. соответствующую таблицу).
Ключевые слова стандарта SQL2
absolute |
cross |
GET |
not |
SPACE |
action |
current |
global |
null |
sql |
add |
current_date |
go |
nullif |
sqlcode |
all |
current_time |
goto |
numeric |
sqlerror |
allocate |
current_timestamp |
grant |
octet_length |
sqlstate |
alter |
current_user |
group |
of |
substring |
and |
cursor |
having |
on |
sum |
any |
date |
hour |
only |
systemjjser |
are |
day |
identity |
open |
table |
as |
deallocate |
immediate |
option |
temporary |
asc |
dec |
in |
or |
then |
assertion |
decimal |
indicator |
order |
time |
at |
declare |
initially |
outer |
timestamp |
AUTHORIZATION |
default |
inner |
output |
timezone_hour |
avg |
deferrable |
input |
overlaps |
timezone_minute |
begin |
deferred |
insensitive |
pad |
to |
between |
delete |
insert |
partial |
trailing |
bit |
desc |
int |
position |
transaction |
bit_lengTh |
describe |
integer |
precision |
translate |
both |
descriptor |
intersect |
prepare |
translation |
by |
diagnostics |
interval |
preserve |
trim |
cascade |
disconnect |
into |
primary |
true |
cascaded |
distinct |
is |
prior |
union |
case |
domain |
isolation |
privileges |
unique |
cast |
double |
join |
procedure |
unknown |
catalog |
drop |
key |
public |
update |
char |
else |
language |
read |
upper |
character |
end |
last |
real |
usage |
char_LEtTH |
end_exec |
leading |
references |
user |
charactER_length |
escape |
left |
relative |
using |
check |
except |
level |
restrict |
value |
close |
exception |
like |
revoke |
values |
coalesce |
exec |
local |
right |
varchar |
collate |
execute |
lower |
rollback |
varying |
collation |
exists |
match |
rows |
view |
column |
external |
max |
schema |
when |
commit |
extract |
min |
scroll |
whenever |
connect |
false |
minute |
second |
where |
connectjon |
fetch |
module |
section |
with |
constrain |
first |
month |
select |
work |
constrains |
float |
names |
session |
write |
continue |
for |
national |
session_user |
year |
convert |
foreign |
natural |
set |
zone |
corrESpONDing |
found |
nchar |
size |
|
count |
from |
next |
smallint |
|
create |
full |
no |
some |
|
Потенциальные ключевые слова (многие из них уже стали ключевыми в той или иной СУБД)
after |
equals |
old |
return |
test |
alias |
general |
operation |
returns |
there |
async |
if |
operators |
role |
trigger |
before |
ignore |
others |
routine |
type |
boolean |
leave |
parameters |
row |
under |
breadth |
less |
pendant |
savepoint |
variable |
completion |
limit |
preorder |
search |
virtual |
call |
loop |
private |
sensitive |
visible |
cycle |
modify |
protected |
sequence |
wait |
data |
new |
recursive |
signal |
while |
depth |
none |
ref |
similar |
without |
dictionary |
object |
referencing |
sqlexception |
|
each |
off |
replace |
sqlwarning |
|
elseif |
oid |
resignal |
structure |
|