Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных создание баз данных в среде SQL Server. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Вокне«NewDatabase»отображаютсяпутихраненияфайловбазы данных. Если они должны отличаться от путей по умолчанию, их можноизменитьизадатьименафайлов(поумолчаниюонибудутта­кимиже,какисоответствующиелогическиеимена).
Изучивобщиенастройкибазыданных(General)диалоговогоокна Properties,перейдитенастраницу«Параметры»(Options)(рис.3.2).
Рис.3.2.Диалоговоеокно«Параметрыбазыданных»
Рассмотримнекоторыеизпараметровстраницы«Параметры».
Collation (сопоставление)определяет ряд правил,согласнокото­рым сортируются и сравниваются данные. Символьные данные со­ртируются,используяправила, которыеопределяютправильнуюпо­следовательностьсимволов,взависимостиотрегистра,надстрочных знаков,символьныхтиповkanaиширинысимволов.
Чувствительность к регистру
ЕслисимволыAиa, B иbит.д.считаютсяодинаковыми,этона­зывается независимостью (нечувствительностью) от регистра. Ком­пьютер считает A и a различными символами, поскольку им соот­ветствуют различные коды ASCII, позволяющие различать ввод. ASCII-значениебуквыAесть65,втовремякакa–97.ASCII-значение B–66,аb–98.
21
Чувствительность к акценту (диакритическим знакам)
Если«a»и«á»,«o»и«ó»трактуютсяодинаковыми,этоназывает­сянечувствительностьюкакценту.Компьютерсчитает«a»и«á»раз­ными,посколькудлянихиспользуютсяразличныекодыASCII.ASCII значениемсимвола«a»является97,втовремякакдля«á»использу­ется225.КодыASCIIдля«o»–111,а«ó»–243.
SQLServer2014разрешаетпользователямсоздаватьбазыданных, таблицыистолбцысразличнойколлацией.
Recovery model (Модели восстановления баз данных)
Модель восстановления — это свойство базы данных, которое управляетпроцессомрегистрациитранзакций,определяет,требуется лидля журналатранзакций резервное копирование,а такжеопреде­ляет,какиетипыоперацийвосстановлениядоступны.MSSQLServer поддерживаеттримоделивосстановления:
FULL (Полная модель восстановления). При использовании этоймоделивыполняетсяполноепротоколированиевсехтранзакций исохраняютсязаписижурналатранзакцийдомоментаихрезервного копирования. Модель полного восстановления позволяет восстано­витьбазуданныхдоточкисбояприусловии,чтопослесбоявозмож­носозданиерезервнойкопиизаключительногофрагментажурнала.
Bulk Logged (Модель восстановления с неполным протоколи­рованием). Эта модель восстановления обеспечивает неполное про-
токолирование большинства массовых операций. Она предназначена для работы только в качестве дополнения к полной модели полного восстановления.Дляряда масштабныхмассовыхопераций(массовый импорт, создание индекса и т.п.) временное переключение на модель восстановления с неполным протоколированием повышает произво­дительность и уменьшает место, необходимое для журналов. Тем не менеедляработы этой моделитребуютсярезервныекопиижурналов. Какивмоделиполноговосстановления,вмоделивосстановлениясне­полным протоколированиемсохраняютсязаписи журнала транзакций после егорезервногокопирования.Этоувеличиваетобъем резервных копийжурналовиповышаетрискпотерирезультатовработы,посколь­кумодельвосстановленияснеполнымпротоколированиемне поддер­живаетвосстановлениедозаданногомоментавремени.
Simple (Простая модель восстановления). В простой моде­ли восстановления протоколтранзакций усекается, если появляется
22
точкавосстановления.Ноэтонеозначает,чтовообщенесуществует протоколирования,содержимоепротоколаиспользуетсявовремясоз­данияконтрольнойточки,гдевсетранзакциипротоколаподтвержде­ныилидлянихвыполненоткат.
При использовании простой моделивосстановления данные воз­можно восстановить только на момент последнего резервного ко­пирования, а значит, недопустимы восстановления на конкретный моментвремениилинаотметкувпротоколе.Всеизмененияспослед­негорезервногокопированиядолжныбытьвосстановленывручную.
Рекомендуетсяиспользоватьпростую модель восстановления для производственныхбаз,тольковтехслучаях,когдасервербазданных необладаетдостаточнымобъемомпамятииликогдааппаратнаячасть серверабазданныхнижерекомендуемой.
Compatibility Level (Уровень совместимости). Этотпараметрза­дает для базы данных поведение, обеспечивающеесовместимость с указаннойболеераннейверсиейMicrosoftSQLServer.
Контрольные вопросы
1. К каким типам относятся группы файлов, образующих базу
данных?
2. Чтопредставляетсобойинфологическаямодельбазыданных?
3. КакиесистемныефайлыимееткаждаябазаданныхSQLServer
ичтоонисодержат?
4. Какиепараметры необходимозадать при добавлении файла в
базуданных?
5. В чем заключается стратегия пропорционального заполнения
файлов?
6. КакиенастройкирегулируетфункцияCollation?
7. Чтотакоемодельвосстановления?
23
Лабораторная работа 4
СОЗДАНИЕ БАЗЫ ДАННЫХ
С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА TRANSACT-SQL
Цельработы: научитьсясоздаватьбазуданных сиспользованием
языкаTransact-SQL.
Длясозданиябазыданныхвыполнитеследующиедействия:
1. Установите соединение с компонентом Database Engine, если
ононеустановлено.
2. Настандартнойпанеливыберитепункт«NewQuery»(«Создать
запрос»).
3. Скопируйте следующий пример в окно запроса и нажмите
кнопку«Выполнить».
USE master ; GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\ MSSQL\DATA\saledat.mdf’, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\ MSSQL\DATA\salelog.ldf’, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )
COLLATE Cyrillic_General_CI_AS;
GO
В этом примере создается база данных Sales. Ключевое слово PRIMARYнеиспользовано,поэтомупервый файл(Sales_dat)стано­вится первичным файлом. Поскольку в параметре SIZE для файла Sales_datне заданы суффиксыMBи KB,используетсязначениеMB ипространствовыделяется в мегабайтах.МестодляфайлаSales_log выделено в мегабайтах, потому что суффиксMB явно указан в па­раметре SIZE. Значения FILENAME Вы можете при необходимости
24
указатьсвои.ТакжепринеобходимостиВыможетеуказатьназвания файлов,отличныеотsaledat.mdfиsalelog.ldf.
Еслине указыватьпараметры послеключевогословаON,то соз­даннаябазаданныхбудетиметьпараметры,установленныепоумол­чаниюдлясерверабазыданных.
Сдополнительнымипараметрамибазыданных,атакжесдругими примерамисозданиябазданныхсипользованиемязыкаTransact-SQL Вы можете ознакомиться по ссылке https://msdn.microsoft.com/ru-ru/ library/ms176061(v=sql.120).aspx
Создание таблиц базы данных
ВSQLServerукаждогостолбца,локальнойпеременной,выраже­нияипараметраестьопределенныйтипданных.Типданных–атри­бут,определяющий,какогородаданные могут хранитьсяв объекте: целые числа, символы, данные денежного типа, метки времени и даты,двоичныестрокиитакдалее.
Типы данных
ТипыданныхвSQLServerобъединенывследующиекатегории:
Таблица 4.1
Типы данных
Точныечисла СимвольныестрокивЮникоде Приблизительныечисла Двоичныеданные Датаивремя Прочиетипыданных Символьныестроки Символы
Точные числа
Таблица 4.2
Точные числа
Тип данных Диапазон Объем памяти bigint
int smallint tinyint money
smallmoney
от-2^63(-9223372036854775808) до2^63-1(9223372036854775807)
от–2^31(–2147483648)до2^31-1(2147483647) 4байта
от-2^15(-32768)до2^15-1(32767) 2байта
от0до255 1байт
От-922337203685477,5808до922337203685 477,5807
От-214748,3648до214748,3647 4байта
8байт
8байт
25
decimal и numeric
decimal[(p[, s])]иnumeric[(p[, s])]
Числасфиксированнойточностьюимасштабом.Прииспользова­ниимаксимальнойточностичисла могут приниматьзначенияв диа­пазоне от -10^38+1 до 10^38-1. Синонимами по стандарту ISO для decimal являются dec и dec(p, s); numeric функционально эквива­лентноdecimal;p–точность,s –масштаб.
Максимальноеколичестводесятичныхразрядовчисла (как слева, так и справаот десятичной запятой),которыебудутхраниться. Точ­ностьдолжнабытьзначениемвдиапазонеот1домаксимум38.Точ­ностьпоумолчаниюсоставляет18.
Максимальное количество хранимых десятичных разрядов числа справаот десятичной запятой. Эточисло отнимается отp дляопре­деления максимальногоколичества цифр слева от десятичной запя­той.Максимальноеколичестводесятичныхразрядовчисласправаот десятичной запятой.Масштаб можетприниматьзначениеот 0до p. Масштабможетбытьуказантолькосовместносточностью.Поумол­чаниюмасштабпринимаетзначение0;поэтому0<=s<=p.Макси­мальныйразмерхранилищазависитотточности.
Таблица 4.3
Зависимость размера хранилища от точности
Точность Объем памяти
1–9 5 10–19 9 20–28 13 29–38 17
bit–целочисленныйтипданных,которыйможетприниматьзначе-
ния1,0илиNULL.
Компонент SQL Server Database Engine оптимизирует хранение столбцов типа bit. Если в таблице имеется 8 или меньше столбцов типаbit, они хранятсякак 1байт.Если имеетсяот9 до16 столбцов типаbit,онихранятсякак2байта,ит.д.СтроковыезначенияTRUEи FALSEможнопреобразоватьвзначениятипаbit:TRUEпреобразует­сяв1,аFALSE–в0.Припреобразованиивбитовыйтип(bit)любое ненулевоезначениеприравниваетсяк1.
Приблизительные числа (числа с плавающей точкой)
oat [ (n) ]
Здесьn– это количествобитов,используемыхдля храненияман­тиссы числа в формате oat при экспоненциальном представлении.
26
Определяетточностьданныхиразмердля хранения. Значениепара­метраnдолжнолежатьвпределахот1до53.Значениемпоумолча­ниюдляпараметраnявляется53.
Таблица 4.4
Параметр n
Значение n Точность Объем памяти
1-24
25-53
Сравнение типов oat и real
Тип данных Диапазон Объем памяти
oat
real
-1,79E+308–-2,23E-308,0и2,23E-308– 1,79E+308
-3,40E+38–-1,18E-38,0и1,18E-38– 3,40E+38
7знаков 4байта
15знаков 8байт
Таблица 4.5
Зависитотзначенияn
4байта
Дата и время
ТипыданныхдатыивремениTransact-SQLперечисленывследую-
щейтаблице.
Таблица 4.6
Типы данных даты и времени Transact-SQL
Определяе-
мая пользо-
вателем точ-
ность в долях
секунды
Смеще-
ние ча-
сового
пояса
Тип
данных
time
Date
smalldate­time
datetime
Format Диапазон
чч:мм:сс [.ннннннн]
ГГГГ-ММ-ДДОт0001-01-
ГГГГ-ММ­ДДчч:мм:сс
ГГГГ-ММ­ДДчч:мм:сс [.ннн]
От00:00:00. 0000000до 23:59:59. 9999999
01до9999­12-31
От
01.01.1900 до
06.06.2079 От
01.01.1753 до
31.12.9999
Точ-
ность
100нс От3до5 Да Нет
1день 3 Нет Нет
1мин 4 Нет Нет
0,00333с8 Нет Нет
Объем
памяти
(в бай-
тах)
27
Окончание табл. 4.6
Определяе-
мая пользо-
вателем точ-
ность в долях
секунды
Да Да
Смеще-
ние ча-
сового
пояса
Тип
данных
date­time2
datetime­offset
Format Диапазон
ГГГГ­ММ-ДД чч:мм:сс[. ннннннн]
ГГГГ­ММ-ДД чч:мм:сс[. ннннннн] [+|-]чч:мм
От0001-01­0100:00:00. 0000000до 9999-12-31 23:59:59. 9999999
От0001-01­0100:00:00. 0000000до 9999-12-31 23:59:59. 9999999 (времяв формате UTC)
Точ-
ность
100нс От6до8 Да Нет
100
наносе-
кунд
Объем
памяти
(в бай-
тах)
От8до
10
Символьные строки
Char [ ( n ) ]
СтроковыеданныефиксированнойдлиныневЮникоде.Аргумент n определяет длину строки и должен иметь значение от 1 до 8000. Размерприхранениисоставляетnбайт.СинонимомпостандартуISO длятипаcharявляетсяcharacter.
varchar [ ( n | max ) ]
Строковыеданныепеременной длиныневЮникоде.Аргументn определяетдлинустрокиидолжениметьзначениеот1до8000.Зна­чение max указывает, что максимальный размер при хранении со­ставляет2^31-1байт(2ГБ).Размерхранения—этофактическаядли­на введенных данных плюс 2байта. Синонимами по стандартуISO длятипаvarcharявляютсятипыcharvaryingилиcharactervarying.
Еслизначениеnпри определенииданныхили в инструкцииобъ­явленияпеременнойнеуказано,тодлинапоумолчаниюравна1.
Объектам,использующимтипcharилиvarchar,назначаютсяпара­метрысортировкипоумолчаниюбазы данных, еслитольконезадан специальный режим при помощи предложения COLLATE. Параме­трысортировкиконтролируюткодовуюстраницу,используемуюдля хранениясимвольныхданных.
28
nchar [ ( n ) ]
Строковые данные постоянной длины в Юникоде. Параметр n определяетдлинустрокиидолжениметьзначениеот1до4000.Раз­мер при хранении составляет удвоенное значение n в байтах. Если кодовая страница параметров сортировки использует двухбайтовые символы, размер хранения остается равным n байт. В зависимости от символьной строки для хранения n символовможет понадобить­сяменее nбайт.По стандартуISO синонимами для nchar являются national charиnational character.
nvarchar [ ( n | max ) ]
Строковые данные переменной длины в Юникоде. Параметр n определяетдлинустрокиидолжениметьзначениеот1до4000.Зна­чениеmaxуказывает,чтомаксимальныйразмерприхранениисостав­ляет 2^31-1 байт (2 ГБ). Размер хранилища в байтах вдвое больше числавведенныхсимволов+2байта.
Двоичные данные
BINARYиVARBINARYтипыподобныCHARиVARCHAR,заис­ключениемтого,чтоонисодержатдвоичныестроки,аненедвоичные строки.Такимобразом,онисодержатстрокибайтов,анесимвольные строки.Этоозначает,чтоунихнет никакогонаборасимволов,исо­ртировкаисравнениеоснованыначисловыхзначенияхбайтоввзна­чениях.
Контрольные вопросы
1. Чтобудет,еслинеуказатьпослеключевогословаONпараметры:
(NAME=Sales_dat,
FILENAME=‘C:\ProgramFiles\MicrosoftSQLServer\MSSQL12. MSSQLSERVER\MSSQL\DATA\saledat.mdf’,
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)?
2. ВкакиекатегорииобъединенытипыданныхвSQLServer?
3. Приведите примеры: для каких данных используются точные
числа,адлякакихприблизительныечисла?
4. Какимиосновнымикритерияминеобходиморуководствоваться
привыборетипасимвольныхданных?
29
Лабораторная работа 5
СОЗДАНИЕ ТАБЛИЦ С ИСПОЛЬЗОВАНИЕМ
OBJECT EXPLORER (ОБОЗРЕВАТЕЛЬ ОБЪЕКТОВ)
Цель работы: научитьсясоздаватьтаблицыврежимеобозревате-
ляобъектов.
Создайтетаблицы,представленныенадиаграммебазыданныхна
рис.5.1.
Рис5.1.Диаграммабазыданныхsales
Дляэтоговобозревателеобъектовкликнителевойкнопкоймышина Tables,далее из контекстногоменювыберите сначалаNew,далееTable (рис.5.2).Врезультатеоткроетсяокно,представленноенарис.5.3.
Рис.5.2.Созданиетаблицыбазыданныхsalesвобозревателеобъектов
30