Учебная работа. Реферат: Разработка и сопровождение баз данных в MS SQL Server 2000
Введение. 4
1. Архитектура базы данных MS SQL Server 2000. 5
1.1 Физическая архитектура базы данных SQL Server 2000. 5
1.1.1 Файлы данных и группы файлов. 6
1.1.2 Страничная организация файлов данных. 8
1.2 Логическая архитектура базы данных SQL Server 2000. 10
1.3 Системные базы данных SQL Server 2000. 11
2. Создание и сопровождение баз данных средствами EntepriseManager14
3. Базы программирования на языке Transact-SQL. 20
3.1 средства языка Transact–SQL. 21
3.2 Константы, имена, идентификаторы, переменные TRANSACT–SQL. 22
3.3 Типы данных SQL Server 2000. 25
3.4 Создание и удаление баз данных, таблиц и представлений. 28
3.4.1 Создание и удаление баз данных. 28
3.4.2 Создание и удаление таблиц. 30
3.4.3 Создание представлений. 31
3.5 Создание и управление индексами. 32
3.6 Вставка, удаление и изменение данных. 34
Заключение. 38
Глоссарий. 39
Перечень использованных источников. 40
Перечень сокращений. 41
приложение А.. 42
Приложение Б. 43
Приложение В.. 44
Приложение Г. 45
Приложение Д.. 46
Приложение Е. 47
приложение Ж.. 48
Приложение З. 49
Введение
Система управления базами данных SQL Server 2000 предоставляет юзерам широкие способности по разработке и сопровождению баз данных. Для этого в составе системы имеется набор графических средств (Enterprise Manager, Query Analyzer), языковых средств (язык Transact-SQL), набор хранимых процедур [1].
Главными задачками в процессе разработки и сопровождения баз данных в среде SQL Server 2000 являются создание, модификация и удаление баз данных, таблиц, также объектов баз данных, таковых как индексы, представления, запросы, хранимые процедуры и триггеры. В курсовом проекте рассматриваются физическая и логическая организация баз данных в SQL Server 2000, структурный язык запросов Transact-SQL, шаблоны установок и примеры запросов [2].
В первой главе («Архитектура баз данных SQL Server 2000»
) рассматриваются физическая и логическая организация баз данных, сотав и предназначение системных баз данных сервера.
Во 2-ой главе («Создание и сопровождение баз данных средствами Enterprise Manager»
) рассматривается создание, сопровождение, удаление иперенос базы данных на остальные сервера. В качестве инвентаря используетсяграфическая утилита Enterprise Manager.
3-я глава («Базы программирования на языке Transact-SQL»
) содержит в себе базы структурированного языка запросов Transact-SQL, методы выполнения главных действий по созданию и сопровождению баз данных и входящих в их объектов средствами языка Transact-SQL. В данной главе приводятся шаблоны и примеры внедрения соответственных установок. Наиболее полный набор примеров по командам языка Transact-SQL.
В приложениях представлены картинки и таблицы.
1. Архитектура базы данных MS SQL S
erver
2000
Структурой хранения данных в SQL Server 2000 является база данных (database). Вся работа SQL Server 2000 сводится к управлению базами данных. Системные данные сервера, отвечающие за его функционирование, также хранятся в базах данных. Базу данных SQL Server 2000 можно разглядывать с 2-ух сторон: физической
и логической
При работе с хоть какой базой данных SQL Server 2000 – пользовательской либо системной – действуют одни и те же механизмы.
Физическая база данных
представляет собой набор файлов, расположенных на диске. С этими файлами можно делать любые операции, разрешенные для обыденных файлов: копирование, переименование, удаление и т. д. естественно, созодать этого не стоит, но все таки выполнение перечисленных операций в случае необходимости может быть. Физическая структура базы данных обрисовывает количество файлов данных и журнальчика транзакций, из которых состоит база данных, их начальный и текущий размер, положение на диске, имя, расширение, шаг приращения и некие остальные характеристики. Эти характеристики нужны лишь для правильного восприятия SQL Server 2000 базы данных. Для юзеров, работающих с базой данных, в подавляющем большинстве случаев ее физическая структура не имеет значения.
Еще больший Энтузиазм для юзеров представляет логическая структура базы данных
, описывающая все ее объекты, их база данных SQL Server 2000 хранится в самостоятельном, неповторимом для каждой БД наборе файлов. журнальчик транзакций и сами данные непременно хранятся раздельно. Это увеличивает отказоустойчивость базы данных в случае сбоев системы.
1.1.1 Файлы данных и группы файлов
Для хранения базы данных предназначен набор файлов, индивидуальный для хоть какой базы данных. Любой файл может принадлежать лишь одной базе данных. В SQL Server 2000 существует два типа файлов базы данных:
· файлы данных;
· файлы журнальчика транзакций.
Файлы данных
(data file)
предусмотрены для хранения инфы, находящейся в таблицах базы данных. Не считая того, в этих файлах также расположены процедуры, ограничения, триггеры, индексы и иная информация;
В файлы журнальчика транзакций
(
transaction
log
file
)
SQLServer 2000 записывает информацию о ходе выполнения транзакций. В их размешается информация о состоянии данных перед началом транзакции, о выполняемых конфигурациях, блокированных ресурсах и иная сопутствующая информация.
Неважно какая база данных обязана содержать как минимум один файл данных и один файл журнальчика транзакций, т.е. малое количество файлов, составляющих базу данных, равно 2. По мере необходимости админ может добавлять новейшие файлы данных либо файлы журнальчика транзакций.
Файлы данных бывают 2-ух типов:
· Primary File (главный, либо основной, файл);
· Secondary File (вторичный, либо доп, файл).
Любая база данных имеет один и лишь один главный либо основной файл
(Primary File)
. Если база данных содержит в себе лишь один файл данных, то этотфайл будет главным. Главный файл предназначен для хранения всех системныхтаблиц, присутствующих в хоть какой базе данных. В главном файле хранитсяинформация о структуре базы данных, сделанных в ней объектах, параметрахдополнительных файлов и файлов журнальчика транзакций. По дефлоту основномуфайлу базы данных присваивается расширение mdf
.
В отличие от основного файла база данных может содержать огромное количество вторичных либо доп файлов
(Secondary File
) либо не содержать их совсем. В доп файлах может храниться лишь пользовательская информация. Хранение хоть какой системной инфы не допускается. В процессе эксплуатации базы данных админ может добавлять новейшие либо удалять уже имеющиеся доп файлы.
Файлы журнальчика транзакций
бывают лишь 1-го типа – Transaction Log File
, служащего для хранения журнальчика транзакций. В базе данных должен быть какминимум один файл журнальчика транзакций. Для убыстрения обработки транзакцийможно употреблять несколько журналов транзакций, расположенных на разныхфизических дисках.
Для всякого файла базы данных можно задать свойство автоматического роста и шаг прироста в мб либо в процентах от начального роста, также наибольший размер, до которого вероятен рост файла. Любой файл, применяемый в базе данных, имеет два имени:
· Logical File Name
– логическое название файла, которое употребляется в командах Transact-SQL при ссылке на определенный файл;
· OS File Name
– название файла в операционной системе, которое употребляется для воззвания к файлу в операционной системе.
Сложные базы данных могут иметь несколько файлов для данных и для журнальчика транзакций. В этом случае файлы БД соединяются воединыжды в группы для упрощения администрирования базы данных. SQL Server 2000 обеспечивает создание групп последующих 3-х типов:
· Primary File Group
– основная группа файлов, которая включает первичный файл и все файлы, не включенные в остальные группы, база данных может иметь лишь одну основную группу файлов;
· User-defined File Group
– пользовательская группа файлов, создаваемая командой CREATE
DATEBASE
либо командой ALTER
DATABASE
, если в их употребляется параметр FILEGROUP,
в базе данных можно сделать несколько пользовательских групп файлов с произвольным набором файлов;
· Default File Group
– группа файлов по дефлоту, в качестве которой назначается одна из групп файлов, сделанных в базе данных. Лишь одна группа файлов быть может группой по дефлоту. Если не обозначено очевидно, группой по дефлоту становится основная группа. Если при разработке объекта базы данных не обозначено очевидно, к какой группе файлов он будет принадлежать, то этот объект создается в группе файлов по дефлоту.
Когда какие-то данные записываются в группу файлов, они распределяются меж файлами данной группы умеренно, т.е. делается распараллеливание записи данных. Для этих целей можно употреблять и способности файловой системы NTFS: чередующийся набор дисков с контролем четности и без него [7].
Неважно какая группа файлов, в том числе и основная, быть может установлена в режим лишь для чтения, что дозволяет защитить данные, записанные на файлы данной группы.
1.1.2
Страничная организация файлов данных
Основная единица хранения данных
на уровне файла базы данных – это страничка
, которая участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна строчка. Любая страничка файла базы данных имеет размер 8192 б. Странички соединяются воединыжды в экстенты. Экстент состоит из 8 страничек (64 Кбайт).
1-ые 96 б странички отводятся под заголовок, в каком хранится системная информация:
· тип странички;
· размер вольного места на страничке;
· идентификационный номер таблицы либо индекса – обладателя страничек.
Имеется 6 типов страничек:
· Data
— в страничках этого типа хранятся фактически данные, исключая данные типа text
ntext
и image
;
· Index
— странички этого типа употребляются для хранения инфы о
индексированных таблицах;
· Text/Image
— в страничках этого типа хранятся данные типа text
, ntext
и
image
;
· Global Allocation Map
— в страничках данного типа хранится информация о использовании экстентов (групп страничек);
· Page Free Space
— в страничках этого типа хранится информация о вольном пространстве на страничках;
· Index Allocation Map
— странички этого типа хранят информацию о экстентах, применяемых таблицами либо индексами.
В страничках типа Data строчки записываются поочередно сходу опосля заголовка странички, а их смещения записываются в оборотном порядке в конце странички.
Любой файл данных базы имеет примерно схожую структуру. Все странички в файле нумеруются поочередно, начиная с 0. Любой файл имеет неповторимый идентификационный номер. Композиция этого номера и номера странички дозволяет совершенно точно идентифицировать всякую страничку в базе данных.
На нулевой страничке размещается заголовок странички, в каких хранятся атрибуты файла. Последующая страничка содержит PFC, в какой хранится информация о использовании страничек экстента. Потом размещаются битовые поля GAM
и доборной таблицы SGAM (Shared GAM).
Другие странички заняты данными либо являются вольными. Странички IAM
могут быть сделаны в любом месте файла. Для многофайловой базы данных экстенты выделяются на всех файлах в равных пропорциях. Все это обеспечивает высшую скорость сотворения, поиска и удаления строк данных [8].
файл журнальчика транзакций не имеет страничек и экстентов. Он содержит лишь последовательность записей транзакций, выполняемых в базе данных.
1.2
Логическая архитектура базы данных
SQL S
erver
2000
Если физически рассматриваются структуры, применяемые для хранения различной инфы, то на логическом уровне нужно разглядывать объекты, которые можно создавать в базе данных, также разные характеристики, которые влияют на работу сервера с базой данных. Под объектами тут понимается не только лишь фактически объект, каким является таблица, права доступа юзеров и ролей базы данных к сделанным в ней объектам. В перечень объектов базы данных, которые служат для хранения и обработки инфы, входят:
· таблицы
(tables)
— единственный объект базы данных, созданный для хранения пользовательских данных;
· представления
(views)
— виртуальные таблицы
(virtual tables
), которые показывают данные, хранящиеся в остальных таблицах, и для юзера почти во всем напоминают таблицы;
· индексы
(indexes)
— не могут существовать сами по для себя и предусмотрены для увеличения производительности работы сервера при поиске подходящих данных в таблицах и представлениях, что достигается методом хранения в упорядоченном состоянии данных 1-го либо наиболее столбцов таблицы либо представления;
· ключи
(keys)
— один из типов ограничения целостности, реализуются так же, как и остальные ограничения целостности, которые связываются с таблицами, но играют довольно важную роль в базе данных и потому рассматриваются как отдельные объекты;
· умолчания
(defaults)
— обрисовывают значения, которые присваиваются столбцам таблицы, если при добавлении строчки очевидно не было обозначено
· правила
(rules)
— логические условия, ограничивающие спектр вероятных значений для столбца таблицы либо определяемого юзером типа данных;
· ограничения целостности
(constraints)
— особые управляющие конструкции, связанными с таблицами и ограничивающие спектр вероятных значений в столбце таблицы;
· хранимые процедуры
(stored procedures)
– поименованные наборы установок на языке Transact-SQL, сохраненные особым образом и вызываемые на выполнение юзерами;
· триггеры
(triggers)
— особый тип хранимых процедур, связываемых с таблицами и автоматом запускаемых сервером при выполнении удаления, вставки либо конфигурации данных в определенной таблице;
· определяемые юзером типы данных
(UDDT)
— типы данных, создаваемые юзерами;
· определяемые юзером функции
(User-defined function)
– набор установок Transact-SQL, сохраненных юзером в виде функции.
1.3
Системные базы данных
SQL S
erver
2000
Система управления MS SQL Server 2000 в собственной работе употребляет несколько системных баз данных, которые создаются автоматом при установке SQL Server 2000 и не должны удаляться. Вся информация о настройке сервера хранится в этих базах данных. Системные базы данных MS SQL SERVER 2000, создаваемые при его установке, их предназначение и имена соответственных им файлов представлены в приложении Е, таблице 1.
Все перечисленные в приложении Е, таблице 1 системные базы данных, как и пользовательские базы данных, в неотклонимом порядке содержат 18 системных таблиц, которые хранят информацию, определяющую структуру и компанию соответственной базы данных. Имена всех системных таблиц начинаются с знаков sys
. В приложении Ж, таблице 2 перечислены системные таблицы с коротким описанием их предназначения.
Не следует впрямую работать с системными таблицами при помощи установок SQLInsert, Updateи Delete. Для конфигурации данных в системных таблицах в SQL Server 2000 имеется набор системных хранимых процедур, при помощи которых можно выполнить фактически любые деяния по администрированию сервера. КомпанияMicrosoft настоятельно советует употреблять эти хранимые процедуры, а не изменять данные конкретно. Это соединено не только лишь с угрозой повреждения системных данных, но к тому же с обеспечением сопоставимости. Microsoft может поменять структуру системных таблиц и предназначение колонок в последующих версиях SQL Server. Если приложение впрямую изменяет системные таблицы SQL Server 2000 и при всем этом корректно работает, то нет никакой гарантии, что оно станет верно работать в последующих версиях. При использовании системных хранимых процедур Microsoft обещает, что приложение будет корректно работать даже при существенных конфигурациях в системных базах данных.
Системная база данных master
. Эта системная база данных является главной базой данных SQL Server 2000. Другие системные базы данных имеют второстепенное информация о параметрах конфигурации сервера, имеющихся на сервере пользовательских баз данных, юзерах, имеющих доступ к серверу, и иная системная информация.
В базе данных master имеется набор таблиц с системной информацией. Наименование таблиц базы данных master и их предназначение приведены в приложении З, таблице 3. По дефлоту база данных master создается в каталоге Data установочного каталога SQL Server 2000.
Системная база данных model.
Cистемная база данных model служит шаблоном для сотворения новейших баз данных. разработка сотворения новейшей базы данных в SQL Server 2000 построена последующим образом: копирует базу данных model в обозначенное пространство и изменяет ее имя подходящим образом. Если при разработке базы данных не указаны никакие характеристики, не считая ее имени, то новенькая база данных будет являться полной копией базы данных model. Если же размер и состав файлов создаваемой базы данных указан очевидно, то скопированная база данных меняется подходящим образом. Но в любом случае в качестве базы употребляется база данных model. Независимо от того, создаете ли вы базу данных при помощи интерфейса EnterpriseManagerили установок Transact-SQL, последовательность действий будет схожа.
Изменяя характеристики базы данных model, можно управлять параметрами по дефлоту создаваемых баз данных. Не считая того, базу данных model можно употреблять в качестве корпоративного эталона на содержимое и характеристики базы данных.
2. Создание и сопровождение баз данных средствами
Enteprise
Manager
база данных является базисным элементом SQL Server 2000 и собственного рода контейнером, в каком размещаются объекты и данные. Хоть какой объект должен принадлежать базе данных. Любая база данных имеет свою систему сохранности, связанную с системой сохранности SQL Server 2000. Хоть какой юзер при воззвании к серверу работает в контексте некий базы данных. Каждой базе данных сопоставлен юзер, который является ее обладателем (database owner). Этот юзер имеет имя dbo и ему предоставлены наибольшие права в базе
данных.
Создание базы данных может быть несколькими методами:
· средствами языка Transact-SQL;
· при помощи графической утилиты Enterprise Manager;
· при помощи мастера сотворения базы данных Create Database Wizard.
Создание базы данных состоит в том, что на уровне операционной системы будет сотворен набор файлов, который и станет представлять базу данных. Любая база данных как минимум состоит из 2-ух файлов – один для данных и один для журнальчика транзакций. Кроме этих 2-ух файлов, могут быть сделаны доп файлы данных и журнальчика транзакций. один из файлов данных является первичным
(primary
) и содержит все системные таблицы базы данных. Кроме этого, в системной таблице sysdatabases
системной базы данных master
SQL Server создается новенькая строчка, которая обрисовывает новейшую базу данных. В столбце filename
данной строчки содержится полный путь и имя первичного файла базы данных. Всю остальную информацию о параметрах базы данных, в том числе о количестве и размещении файлов данных и журнальчика транзакций, получает из системных таблиц базы данных, размещенных в первичном файле. Кроме имени первичного файла, таблица sysdatabases
содержит также идентификационный номер базы данных (столбец dbid
), идентификатор сохранности обладателя базы данных (столбец sid
), дату сотворения (столбец crdate
), уровень сопоставимости (столбец cmptlevel
) и другую информацию.
В данном разделе разглядим создание базы данных при помощи графического интерфейса Enterprise Manager. При помощи этого инструмента можно не только лишь создавать базы данных, да и управлять ими, также удалять их. В общем случае внедрение Enterprise Manager по сопоставлению с конкретным внедрением установок Transact-SQL может приметно уменьшить время, нужное на создание баз данных. Работа с Enterprise Manager не просит познания синтаксиса команды CREATE DATABASE, что является бесспорным достоинством. Для управления базами данных SQL Server 2000 употребляется работать с системными базами данных, также с системными объектами пользовательских баз данных и наличие их в панели Enterprise Manager лишь мешает работе, то можно запретить отображение этих объектов. Для этого довольно открыть окно регистрации сервера Registered SQL
Server
Properties
(приложение Б, набросок 2) и сбросить флаг Show
system
databases
and
system
objects
. Для открытия окна параметров сервера довольно в контекстном меню сервера избрать команду Edit
SQL
Server
Registration
Properties
.
Создание новейшей базы данных производится при помощи окна Database Properties (приложение В, набросок 3). Открыть это окно можно различными методами:
· выбрав в контекстном меню папки Databases команду New Database;
· щелкнув правой клавишей мыши на пустом пространстве правой части и выбрав в открывшемся контекстном меню команду New Database;
· нажаввпанелиинструментов Enterprise Manager клавишу New Database;
· выбрав в меню Action (Деяния ) команду New Database.
Окно параметров базы данных Database Properties имеет три вкладки. 1-ая вкладка General создана для указания имени базы данных и сравнения, которое будет употребляться для базы данных. Другие элементы управления вкладки General предусмотрены для предоставления юзеру различной инфы о базе данных. На момент сотворения базы данных данной инфы еще не существует, и потому указываются значения Unknown (непонятно) и None (нет).
При выбирании имени базы данных, которое обязано быть введено в поле Name
, следует придерживаться тех же правил, которые употребляются при конкретной работе с командой Create Database. Сравнение, которое будет иметь база данных, выбирается при помощи раскрывающегося перечня Collation
name
. По дефлоту перечень содержит Server default
), что предписывает использовать для базы данных то же сравнение, которое было обозначено на уровне сервера при установке SQL Server 2000. Но можно избрать и хоть какое другое сравнение.
Вкладка Data Files
(приложение Г, набросок 4) создана для определения файлов данных, из которых будет состоять создаваемая база данных. В высшей части вкладки Data Files размещена таблица Database files
, при помощи которой фактически и определяются файлы базы данных. В столбце File Name
указывается логическое имя файла, в столбце Location
задается полный путь и имя файла операционной системы. Отметим, что обозначенный в столбце Location
файл не должен существовать на момент сотворения базы данных. Путь и имя файла могут быть введены вручную либо выбраны при помощи окна Locate Database File
, открыть которое можно при помощи клавиши, расположенной в левой части столбца Location
.
В столбце Initial size (MB)
находится начальный размер, который файл будет иметь конкретно опосля сотворения базы данных. Если отсутствует какой- или суффикс, то предполагается, что Filegroup
можно найти группу файлов, к которой должен принадлежать файл. По дефлоту все файлы располагаются в группе файлов PRIMARY.
Кроме сведений, указываемых в таблице Database files
, файлы базы данных имеют доп характеристики, такие, как наибольший размер и шаг прироста. Управление этими качествами осуществляется при помощи группы частей управления File properties
, расположенной в нижней части вкладки Data Files
.
Вкладка Transaction Log
(приложение Д, набросок 5) создана для управления файлами журнальчика транзакций. Эта вкладка в значимой степени припоминает вкладку Data Files. Единственное различие меж ними заключается в том, что при определении файлов журнальчика транзакций недозволено работать с группами файлов. Опосля того как все файлы базы данных будут определены, также обозначено имя базы данных и сравнение, остается лишь надавить клавишу ОК и Enterprise Manager приступит к конкретному созданию базы данных. Для этого он сгенерирует код команды CREATE DATABASE на базе введенных юзером значений и выполнит его. Рассмотрение сотворения базы данных средствами Enterprise Manager можно считать оконченным.
В процессе использования сделанной базы данных возникает необходимость в изменении, как физических характеристик, так и логической структуры данной базы. К управлению базой данных на физическом уровне
относится вся работа по изменению имен, размера, количества, положения файлов базы данных, усечению базы данных и журнальчика транзакций, созданию групп файлов, изменению группы файлов по дефлоту, изменению имени и обладателя базы данных. Большая часть действий по изменению конфигурации базы данных производится при помощи команды ALTER DATABASE. Для уменьшения размера базы данных можно также употреблять команды DBCC SHRINKDATABASE, DBCC SHRINKFILE и системную хранимую процедура sp_dboption.
На логическом уровне
меняются такие характеристики, как выполнение автоматического усечения журнальчика транзакций, автоматическое создание и обновление статистики, возможность выполнения вложенных триггеров и т.п. – всего 22 параметра. Изменять эти характеристики можно командой ALTER DATABASE с параметром SET и процедурой sp_dboption.
Для просмотра и модификации параметров базы данных в ее контекстном меню либо меню Action
(Деяния
) нужно избрать команду Proprties (Характеристики
). При всем этом раскроется окно параметров избранной базы данных. Это окно имеет 6 вкладок, три из которых использовались при разработке базы данных. Можно отметить некие отличия. к примеру, на вкладке General (Общие) во время просмотра параметров сделанной базы данных, поле Name (имя) доступно лишь в режиме чтения. Также недоступен перечень Collation Name (имя сравнения).
На вкладке Data Files (Файлы данных) можно добавить новейшие файлы к базе данных либо изменить имеющиеся файлы. На данной же вкладке можно указать возможность автоматического роста размера файла и задать шаг роста размера файла.
На вкладке Transaction Log (журнальчик транзакций) производится настройка файлов, применяемых для хранения журнальчика транзакций. Конфигурирование производится аналогично конфигурированию файлов базы данных, кроме того, что файлы журнальчика транзакций не соединяются воединыжды в группы.
Перечень имеющихся в базе данных групп файлов содержится на вкладке Filegroups (Группы файлов). Этот перечень можно видоизменять удаляя и добавляя группы файлов.
При помощи вкладки Permissions (права) админ может раздавать юзерам и ролям базы данных права на выполнение установок Transact-SQL либо разрешать создание тех либо других объектов базы данных.
На вкладке Options (характеристики) представлены различные характеристики конфигурирования базы данных, которые разбиты на две группы характеристик: Access (Доступ) и Settings (Опции).
Нередко бывает, что по прошествии некого времени нужно поменять структуру базы данных и удалить часть ее объектов. Для этого довольно надавить кнопку Del либо избрать команду Delete (Удалить) в контекстном меню объекта. Но нужно держать в голове, что удаление объекта может привести к нарушению функционирования базы данных.
дозволяет отсоединять (хранимая процедура sp_detach) и присоединять (хранимая процедура sp_attach_db) до 32767 баз данных, изменять обладателя (хранимая процедура sp_changedbowner), просматривать характеристики (хранимая процедура sp_dboption и DATABASEPROPERTY), получать справки (хранимая процедура sp_helpdb) и т.д. Для того чтоб отсоединить базу данных от сервера в Enterprise Manager, нужно выполнить команду Detach Database
(Отсоединить
базу данных
) из перечня задач контекстного меню базы данных либо меню Action
(Деяния
). Для того чтоб присоединить базу данных к серверу в Enterprise Manager, нужно выполнить команду Attach Database
(Присоединить базу
данных
) из перечня задач контекстного меню базы данных либо меню Action
(Деяния
).
Для переноса структуры базы данных на иной либо для отправки ее по электрической почте SQL Server 2000 дозволяет создавать сценарии объектов. Для сотворения сценариев объектов базы данных в контекстном меню объекта либо в меню Action (Деяния) из перечня всех задач выбирается команда Generate SQL Script (Генерировать сценарии SQL). Открывающееся при всем этом окно содержит три вкладки, дозволяющие делать настройку процесса сотворения сценариев. На вкладке General (Общие) можно избрать объекты, для которых будут создаваться сценарии. На вкладке Formatting (Форматирование) производится настройка процесса сотворения сценария. На вкладке Options (характеристики) можно задать характеристики кода для юзеров и ролей базы данных, найти режим сотворения кода для индексов, триггеров, полнотекстовых индексов, ключей, умолчаний и ограничений для таблиц, также остальные характеристики.
Логическим окончанием манипуляций с базой данных является ее удаление
. Для этого нужно просто избрать в перечне имя базы данных, щелкнув правой клавишей мыши, и избрать в открывшемся контекстном меню команду Delete
. При удалении базы данных происходит удаление строчки таблицы sysdatabases
, описывающей подобающую базу данных. Так же делается и физическое удаление всех файлов, из которых состояла база данных. Тем не наименее, имея запасную копию базы данных, потом можно вернуть ее опять.
3. Базы программирования на языке T
ransact
-SQL
Целью хоть какой системы управления базами данных является предоставление юзеру обычных и действенных устройств манипулирования данными. Для этого можно употреблять разные способы управления данными, одним из которых является язык структурированных запросов
(SQL
).
Язык SQL является неплохим примером использования технологии клиент- сервер. Когда юзеру требуется произвести некие операции с данными, он обрисовывает деяния, которые нужно выполнить, при помощи установок языка SQL. Приготовленные команды, именуемые запросом
(query
), отправляются на баз данных. В согласовании с приобретенными инструкциями производит нужные деяния и посылает клиенту только итог работы. Таковым образом, вся работа с данными делается на сервере. В 1992 г. Южноамериканским государственным институтом стандартизации был разработан эталон на язык SQL, нареченный ANSI SQL-92. Этот эталон не только лишь описывает главные правила использования установок, идентификаторов, переменных и остальных частей, да и регламентирует работу самой системы управления базами данных. А именно, в эталоне ANSI SQL-92 были рассмотрены механизмы работы транзакций и блокировок.
Эталон ANSI SQL-92 был неплохой попыткой зарегистрировать языки доступа к данным, применяемые в разных СУБД. Но со временем любой из производителей начал облагораживать и модернизировать способности языка, подстраивая их под определенную СУБД. С одной стороны, это дозволяет наиболее отлично употреблять способности той либо другой СУБД, с иной – это привело к потере сопоставимости товаров. В истинное время эталон ANSI SQL-92 рассматривается, быстрее, как общие советы к построению действенной системы управления базами данных, чем как определенный перечень шагов по построению СУБД.
язык употребляется в SQL Server 2000 для доступа к данным. Он удовлетворяет требованиям ANSI SQL-92, но дает юзеру к тому же ряд доп способностей, позволяющих наиболее гибко и отлично работать с данными. Язык Transact-SQL интенсивно употребляется не только лишь в программных продуктах компании Microsoft, да и в пакетах независящих разрабов.
Раздел документации сервера T–SQL Help содержит описание каждой команды языка Transact–SQL и набор примеров их использования.
3
.1 средства языка
Transact
–SQL
Язык Transact–SQL включает последующие средства:
· данные баз данных и переменных различного типа;
· константы, обычные и ограниченные идентификаторы;
· арифметические и логические выражения, включающие в качестве операндов константы, переменные, имена столбцов таблиц, функции, подзапросы и условные выражения, также выражения, взятые в круглые скобки;
· SQL–команды для сотворения, конфигурации и удаления баз данных и их объектов, также для определения запросов на ввод, обработку и извлечение данных;
· управляющие программные структуры, определяющие условия и порядок выполнения установок в данной последовательности либо пакете установок;
· интегрированные (системные) и определяемые юзером функции;
· интегрированные (системные) и определяемые юзером хранимые процедуры.
В системе могут храниться, кроме функций и процедур, последовательности (пакеты) установок, которые именуются скриптами. Если скрипт обрисовывает процесс сотворения базы данных, либо каких-то ее объектов, то таковой скрипт именуется сценарием. Сценарии разрешают переносить структуру базы данных от 1-го сервера к другому, также структуру таблиц и остальных объектов в разные базы данных. Скрипты хранятся в текстовых файлах. Функции и хранимые процедуры баз данных разрешают уменьшить размер запросов, передаваемых от клиента к серверу, что увеличивает общую производительность системы. Наличие начального кода для этих объектов дозволяет упростить сопровождение программных комплексов и внесение конфигураций в их.
Обычно все бизнес–правила и методы обработки данных реализуются на сервере баз данных и доступны конечному юзеру в виде набора функций и хранимых процедур, которые и представляют интерфейс обработки данных. Для обеспечения целостности данных, также в целях сохранности, приложению обычно не предоставляется прямой доступ к данным. Вся работа ведется при помощи обозначенного интерфейса.
Схожий подход делает очень обычным изменение алгоритмов обработки данных и обеспечивает возможность расширения системы без внесения конфигураций в само приложение. Довольно поменять хранимую функцию на сервере баз данных, и изготовленные конфигурации тотчас станут доступными всем юзерам сети.
3.2 Константы, имена, идентификаторы, переменные TRANSACT–SQL
В языке Transact–SQL имеются последующие виды констант:
· битовые: 0 и 1;
· логические: FALSE и TRUE;
· бинарные в шестнадцатеричном представлении: 0x9E70DA;
· символьные: ‘ABC’; “ABC” (если QUOTED_IDENTIFIER = OFF), N‘ABC’ либо N “ABC” (Unicode);
· целые: 1; 2; 175;
· с фиксированной точкой: 12.35; — 16.753;
· с плавающей точкой: 1.75Е5; 3.84Е – 3;
· для даты: “ April 15.2003”; “4/15/2003”; “20031207”;
· для времени: 14:30; 14:30:20:999; 4am; 4pm;
· валютные: $100;?200; 2.15.
Комменты в языке бывают 2-ух типов: строчные, начинающиеся с 2-ух знаков минуса («—») и блочные, заключаемые знаками /* и */. Все объекты базы данных обязаны иметь имена, которые употребляются в командах для ссылки на эти объекты. Хоть какой объект базы данных должен быть неповторимо идентифицирован. Кроме программных имен автоматом генерирует внутренние неповторимые имена для идентификации объектов баз данных, к примеру, PK_ _Table X_ _ 014543FA. Программные имена задаются идентификаторами 2-ух типов:
обычными идентификаторами: Table X; Key Col;
· ограниченнымиидентификаторами: [My Table]; [Order]; “My Table”; “Order”;
· (если QUOTED_IDENTIFIER = ON).
Длина идентификатора – от 1 до 128 знаков. Идентификатором не быть может какое-либо зарезервированное ключевое слово языка. Обычный идентификатор в качестве первого знака может иметь всякую латинскую либо русскую буковку, знаки #, ##, @, @@ и символ подчеркивания _. Следующими знаками, кроме обозначенных символов, могут быть к тому же десятичные числа.
Ограниченные идентификаторы могут включать и остальные знаки, в том числе зарезервированные слова. В этом случае они должны заключаться в квадратные скобки либо двойные кавычки.
В согласовании с идеологией SQL Server 2000 любой объект создается определенным юзером и принадлежит той либо другой базе данных. В свою очередь база данных размещена на определенном сервере. Из имен объекта, юзера, базы данных и сервера создается полное имя (complete name) либо стопроцентно определенное имя (full qualified name), записываемое в последующем виде:
[[[server.].[database].[owner_name].] object_name.
Варианты воззвания к объектам базы данных: A.B.C.D; A.B..D; A..C.D; A..D; B.C.D; B..D; C.D; D. Чтоб сослаться на определенный столбец таблицы либо представления, нужно в полном имени указать 5-ый элемент: А.В.С.D.E.
В Transact–SQL существует несколько методов передачи данных меж командами. Одним из таковых методов является передача данных через локальные переменные, объявляемые последующим образом:
DECLARE {@ имя локальной переменной тип данных}[,…n]
Таковым образом, символ @ является признаком имени локальной переменной. Тот же символ употребляется для определения имен характеристик функций и хранимых процедур. часть синтаксиса [,…n] значит повторение синтаксической конструкции, взятой в фигурные скобки:
DECLARE @Ivar int либо DECLARE @IBit bit.
значения переменным можно присвоить при помощи установок SET и SELECT. Командой SET можно присвоить
либо SET @IBit = 0.
Для присваивания значений нескольким переменным, вычисляемых при помощи выражений, следует употреблять команду SELECT, которая выводит результаты в окно Grids:
SELECT @Ivar = SUM (price) FROM titles _ _ см. окно Result.
Для вывода значений переменных следует употреблять команды:
· SELECT – для вывода данных в обычный набор строк;
· PRINT – для вывода данных как служебной инфы.
Примеры установок вывода значений переменных:
· SELECT @Ivar _ _ вокно Grids утилиты Query Analyzer;
· PRINT @IBit _ _ вокно Messages утилиты Query Analyzer.
Константы, переменные и характеристики функций и хранимых процедур, вызовы функций, имена столбцов и подзапросы являются операторами арифметических и логических выражений. В качестве операнда быть может также само выражение типа CFSE, NULLIFи COALESCE.
Операторами выражения могут быть унарные («+» либо «-»), бинарные арифметические операторы (+, -, *, % ), оператор присваивания (=), строковая операция конкатенации (+), операторы сопоставления (=, >, <, <=, >=, =, != либо <>, !<, !>), логические операторы (NOT, AND, OR, ALL, ANY, BETWEEN, EXIST, IN, LIKE, SOME ) и битовые операторы (&, |, ^).
Константы, переменные, операнды и выражения употребляются при записи установок и программирования функций и хранимых процедур, которые, все вкупе взятые, составляют основную часть системы программирования SQL Server 2000 и определяют ее выразительную мощь. Команды разрешают создавать, видоизменять и удалять базы данных и их объекты, сформировывать сложные запросы на ввод, обработку и извлечение данных из баз познаний, делать функции администрирования и обслуживания баз данных. Функции и хранимые процедуры реализуют различные методы обработки данных либо выполнение служебных функций сервера.
3.3 Типы данных SQL
Server
2000
При объявлении переменной при помощи команды DECLARE нужно указать ее тип данных. Тип данных описывает, какая информация может храниться в переменной, и какие операции могут производиться над этими данными. В общем, понятие и внедрение типов данных в Transact-SQL соответствуют большинству современных языков программирования.
Типы данных играют огромную роль при работе с таблицами. Любой столбец должен иметь определенный тип данных. В одной таблице быть может огромное количество столбцов, как с схожими, так и с разными типами данных. В конце концов, типы данных интенсивно употребляются при работе с хранимыми процедурами, определяя вид значений, указываемых при вызове.
В SQL Server 2000 набор типов данных несколько расширен по сопоставлению с предшествующей версией SQL Server – добавлены типы данных bigint, table и sql_variant.
В итоге в распоряжении юзеров имеется набор из интегрированных типов данных:
· binary(n) – двоичные данные фиксированной длины до 8000 б; для n байтов выделяется n+4 б памяти, значения задаются при помощи шестнадцатеричных чисел 0x<шестнадцатеричные числа>;
· image – двоичные данные длиной до 231–1, пространство во наружной памяти выделяется в виде цепочки страничек;
· char(n) – строковый тип данных фиксированной длины без поддержки Unicode длиной до 8000 байтов, данные зависят от кодовой странички; если для столбца не задана функция NULL, то строчка по мере необходимости будет дополняться справа пробелами; если эта функция задана, то дополнение пробелами будет иметь пространство при условии ANSI_PADDING=ON, в неприятном случае пробелы добавляться не будут;
· varchar(n) – строковый тип, как и char(n), но не с фиксированной длиной, если ANSI_PADDING=OFF, то будет производиться удаление конечных пробелов, если ANSI_PADDING=ON, то удаление пробелов выполняться не будет;
· nchar(n) — строковый тип, как и char(n), но с поддержкой Unicode, потому наибольшее количество знаков составляет 4000, в этом случае для строковых констант нужно задавать впереди буковку N (к примеру, N’ABC’);
· nvarchar(n) – строковый тип, как varchar(n), но с поддержкой Unicode;
· text – строковый тип без поддержки Unicode длиной до 2 Гбайт; память выделяется страничками по 8 Кбайт, связываемыми в цепочку;
· ntext – строковый тип как и text, но с поддержкой Unicode, потому длина строчки не наиболее 1 Гбайта;
· int – целый тип длиной в 4 б и с спектром от –231 до 231-1;
· smalling – целый тип длиной в 2 б с спектром от –215 до 215-1;
· tinyint – целый тип длиной в 1 б и спектром от 0 до 255;
· bigint – целый тип длиной в 8 б и с спектром от-263 до 263-1;
· decimal[(p[,s])] – десятичный двоично-кодированный тип с p десятичными разрядами, из которых s – дробных; наибольшее
· numeric[(p[,s])] – тип, аналогичныйтипу decimal[(p[,s])];
· float[(n)] – плавающий (ориентировочный) тип длиной в 4 б и с спектром от –1.79×10308 до 1.79×10308; значения от 1 до 53;
· real – плавающий тип, являющийся аналогом float(240);
· datetime – тип данных для хранения даты (4 первых б) и времени (4 крайних б) в спектре от 1.1.1753 и до 31.12.9999 года, дата хранится в виде смещения относительно базисной даты 1.1.1753, а время является количеством миллисекунд опосля полуночи;
· smalldatetime – тип данных для хранения даты (первых 2 б) и времени (крайние 2 б) в спектре от 1.1.1900г. до 6.6.2079г., время задается с точностью до минутки;
· money – тип данных для хранения огромных валютных величин с точностью до 4 символов опосля запятой в спектре от –922 337 203 685 477.5808 до +922 337 203 685 477.5807, для хранения данных отводится 8 б;
· smallmoney – тип данных для хранения обычных валютных величин с точностью до 4 символов опосля запятой в спектре от –214 748.3648 до 214 748.3647, для хранения данных отводится 4 б;
· bit – битовый (логический) тип со значениями 0 и 1; для хранения выделяется 1 разряд б памяти;
· timestamp – тип данных временный штамп для учета числа конфигураций данных в записи (версий строчки row version),
· uniqueidentifier – тип данных для хранения глобальных неповторимых идентофикаторов длиной в 16 б, генерируемых функций NEWID и применяемых для идентификации строк (записей), при генерации употребляется номер сетевой карты компа и текущее время;
· sysname – тип данных для хранения имен объектов базы данных; аналог
nvarchar (128);
· sql_variant – вариантный тип данных для хранения данных хоть какого типа, не считая text, ntext, image, timestamp;
· table – тип таблицы для временного хранения наборов данных с внедрением переменных.
На базе неких из базисных типов данных могут быть сделаны новейшие типы данных, именуемые пользовательскими (User-defined). Примером такового типа данных может служить тип sysname (основанный на nvarchar(l28)), интенсивно используемый в системных таблицах для хранения имен объектов.
Типы данных SQL Server 2000 можно разбить на последующие группы:
· целочисленные (Integers) – bigint, int, smallint и tinyint;
· нецелочисленные (Decimal) – decimal, numeric, float и real;
· валютные (Money) – money и smallmoney;
· датаивремя (Date and Time) – datetime и smalldatetime;
· двоичные (Binary) – binary, varbinary и image;
· строковые (String) – char, varchar, nchar и nvarchar;
· текстовые (Text) – text и ntext;
· особые (Specials) – timestamp, uniqueidentifier, bit, cursor, table и sql variant.
3.4 Создание и удаление баз данных, таблиц и представлений
3.4.1 Создание и удаление баз данных
Неважно какая пользовательская база данных быть может сотворена командой CREATE DATABASE. Для сотворения базы данных и для ее обслуживания необходимо иметь надлежащие права. По дефлоту таковыми правами владеют члены фиксированных ролей сервера sysadmin и dbcreator. По мере необходимости такие права можно предоставить и иным юзерам. Лицо создающее базу данных, автоматом становится ее обладателем. Имя базы данных обязано буквально отражать ее предназначение и создаваться по правилам построения системных идентификаторов. Длина имени не наиболее 128 знаков. Для команды CREATE DATABASE запись синтаксиса на этом метаязыке будет смотреться последующим образом:
CREATE DATABASE database_name
[ON
[<filespec> [,…n]]
[<filegroup> [,…n]]
]
[LOG ON {<file spec> [,…n]}]
[COLLATE collation_name]
[FOR LOAD| FOR ATTACH]
<filespec> : : =
[PRIMARY]
( [NAME=Logial_file_name,]
FILENAME=’os_file_name’
[, SIZE=size]
[, MAXSIZE=UNLIMITED]
[, FILEGROWTH=growth_increment]) [,…n]
<filegroup> : : =
FILEGROUP filegroup_ name <filespec> [,…n]
Эта команда описывает новейшую базу данных и файлы для хранения данных либо подключает ранее сделанную базу данных, используя ее файлы.
Из определения синтаксиса команды CREATE DATABASE следует:
· для сотворения базы данных в ряде всевозможных случаев довольно задать только ее имя;
· имеется возможность задавать полные пути и названия файлов, как для данных, так и для журнальчика транзакций (logon);
· очевидно указывать первичный файл, который содержит нужные сведения о других файлах;
· можно употреблять группы файлов для убыстрения операций ввода – вывода.
Большая часть действий по изменению конфигурации базы данных производится при помощи команды ALTER DATABASE. Для уменьшения размера базы данных можно также употреблять команды DBCC SHRINKDATABASE, DBCC SHRINKFILE. На логическом уровне меняются такие характеристики, как выполнение автоматического усечения журнальчика транзакций, автоматическое создание и обновление статистики, возможность выполнения вложенных триггеров и т.п. – всего 22 параметра. Изменять эти характеристики можно командой ALTER DATABASE с параметром SET.
3.4.2
Создание и удаление таблиц
Пользовательская таблица создается командой Transact-SQL CREATE TABLE. При всем этом нужно задать имя таблицы, перечислить имена столбцов, задать тип данных для всякого столбца, упорядоченность знаков для сортировки символьных данных, значения по дефлоту, также ограничения на столбцы либо таблицу в целом.
Командой DELETE TABLE можно удалить всякую таблицу. Но до этого, чем это создать, нужно удалить все объекты базы данных, которые ссылаются на данную таблицу, или поменять их таковым образом, чтоб они не ссылались на удаляемую таблицу.
Чтоб получить информацию о таблице, нужно выполнить последующую хранимую функцию: sp_help имя таблицы. Опосля выполнения данной команды на дисплее возникает целый ряд информационных таблиц: таблица с общей информацией, таблица со качествами колонок, таблица с ограничением IDENTITY, таблица с информацией о размещении на файлах, таблица с информацией о индексах, таблица с данными о ограничениях, таблица с информацией о ссылающихся таблицах.
3.4.3
Создание представлений
одной либо нескольких таблицах. Подобно настоящим таблицам представления содержат именованные столбцы и строчки с данными, которые они динамически выбирают из таблиц и дают эти данные юзеру для просмотра. Представления нередко используются для ограничения доступа к секретным данным в таблицах баз данных. Когда в несколько критерий для подборки строк, то считают, что на таблицу наложен горизонтальный фильтр.
1-го сервера (текущего). Наибольшее количество столбцов в представлении равно 1024. недозволено создавать временное недозволено найти ограничения целостности, триггеры, правила, либо умолчания, также сделать обыденный либо полнотекстовый индекс. В главном представления употребляются для подборки данных. Но при помощи представлений можно делать и изменение данных в таблицах, на базе которых выстроено права доступа:
· SELECT – просмотр данных;
· INSERT – добавление данных через представления;
· UPDATE – изменение данных в начальных таблицах;
· DELETE –удаление данных в начальных таблицах.
Чтоб иметь возможность создавать представления, нужно владеть правами обладателя баз данных и иметь надлежащие разрешения для всех таблиц либо представлений, упомянутых в запросе на создание этого представления. Для сотворения представления употребляется последующая команда Transact-SQL:
CREATE VIEW [имя базы данных.] [имя владельца.]
имя представления
[(Имя колонки [,… n])]
[WITH{ENCRYPITIONSHEMABINDING
VIEW_METADATA}
AS Команда SELECT
[WITH CHECK OPTION]
Если в команде не заданы имена колонок представления, то они определяются по именам избираемых колонок в команде SELECT. Параметр ENCRYPTION прячет код сотворения этого представления, а параметр SHEMABINDING обеспечивает контроль структуры начальных объектов, к которым обращается оператор SELECT. Функция WITH CHEC OPTION не дозволяет изменять строчки таковым образом, чтоб они пропали при отборе командой SELECT.
Более полная информация по созданию и удалению баз данных приводится в [1, 3, 5, 6, 9]
3.5
Создание и управление индексами
Создание индекса командами языка Transact – SQL делается последующим
образом:
· автоматом при разработке первичного ключа, когда создается кластерный индекс (если не указан параметр NONCLUSTERED);
· автоматом при реализации ограничения целостности UNIQUE, когда создается не кластерный индекс;
· автоматом при разработке таблицы, когда для столбца указываются характеристики CLUSTERED либо NONCLUSTERED;
· при помощи специальной команды CREATE INDEX.
Как индексы сделаны для таблицы, обеспечивает их действенное автоматическое внедрение при поиске запрашиваемых либо модифицируемых строк. Юзеру не предоставляется никаких средств для указаний серверу, какие индексы и каким методом употреблять при выполнении того либо другого запроса.
формат команды для очевидного сотворения индекса последующий:
CREATE [UNIQVE] [CLUSTEREDNONCLUSTERED] INDEX
Имяиндекса
ON {Имя индексаимя представления}
(column[ASCDESC] [,…n])
[WITH [PAD_INDEX]
[[,] FILLFACTOR = Факторзаполнения]
[[,] IGNOR_DUP_KEY]
[[,] DROP_EXISTING]
[[,] STATISTICS_NORECOMPUTE]
[[,] SORT_IN_TEMP_DB]
]
[ON имя группы файлов]
Если автоматическое создание кластерного индекса не предполагается, то перед созданием не кластерного индекса нужно сделать кластерный, потому что некластерный индекс постоянно ссылается на кластерный. Можно сделать 249 некластерных индексов с внедрением до 16 столбцов в любом индекс, при всем этом общая длина индекса не обязана превосходить 900 байтов. Столбцы с типами данных text, ntext либо image в индексах не допускаются. порядок столбцов при определении ключа весьма важен. лучше их указывать в порядке возрастания длины данных. характеристики ASC и DESC определяют способ сортировки главных частей – соответственно по возрастанию либо по убыванию.
Параметр PAD_INDEX обеспечивает резервирование на каждой страничке индекса места для вставки новейших записей и употребляется вкупе с параметром FILLFACTOR.
Параметр IGNORE_DUP_KEY не приводит к отказу транзакции при добавлении дублирующих строк, при всем этом сами дублирующие строчки игнорируются, и сервером выдается сообщение о ошибке. Другие характеристики команды употребляются изредка. Сделанный тем либо другим методом индекс, можно переименовать при помощи системной хранимой процедуры sp_rename, можно его удалить командой DROP INDEX либо перестроить для упорядочивания вольного места на индексных страничках, используя команды DROP INDEX и CREATE INDEX либо команду DBCC DBREINDEX. Для получения инфы о индексах употребляется системная хранимая процедура:
sp_helpindex [@objname] ‘name’, где name – имя рассматриваемой таблицы текущей базы данных.
Для просмотра личных параметров определенного индекса следует использовать команду:
INDEXPROPERTY (table_ID, index, property), в какой table_ID = OBJECT_ID (имя таблицы) – идентификационный номер таблицы, index – имя индекса, а property – рассматриваемое свойство: Index Depth (глубина индекса), Is Clustered (кластерный), Is Unique (неповторимый) и др.
Для сбора и анализа статических данных при использовании индексов употребляются последующие команды и процедуры: CREATE STATISTICS, UPDATE STATISTICS, sp_autostats, sp_statisticsи др.
3.6
Вставка, удаление и изменение данных
Вначале целью хоть какой системы управления базами данных является предоставление юзерам комфортных и действенных устройств управления данными. Неважно какая СУБД предоставляет юзерам инструменты для ввода, конфигурации, удаления и подборки данных. Другие способности, такие, как репликация, запасное копирование, автоматическое администрирование, перенос данных и остальные, являются только доп компонентами, обеспечивающими наиболее действенное решение все тех же задач ввода, конфигурации, удаления и подборки данных.
SQL Server 2000 дает несколько разных устройств управления данными. К примеру, вставка данных может производиться не только лишь средствами Transact-SQL, да и при помощи утилиты bср.ехе либо служб трансформации данных (DTS, Data Transformation Services).
Для прибавления данных в языке Transact-SQL употребляются команды INSERT и SELECT INTO, для конфигурации данных – команда UPDATE и для удаления строк из таблиц – команда DELETE.
Команда INSERT дозволяет вставить в таблицу одну либо несколько строк. Облегченный синтаксис данной команды такой:
INSERT [INTO] имя модифицируемой таблицы
[WITH (уровень блокировки запроса)]
{[(список колонок модифицируемой таблицы)]
{VALUES (перечень значений новейшей строчки)
команда SELECT}}
DEFAULT VALUES
Если нужно очевидно вставлять значения в колонки – счетчики, имеющие свойство IDENTITY, то для модифицируемой таблицы нужно выполнить команду:
SET IDENTITY_INSERT имямодифицируемойтаблицы ON
Если перечень столбцов не задан, то будет вставлять данные поочередно во все столбцы, начиная с первого. Для всякого столбца должен быть указан аргумент, имеющий соответственный тип. Аргументами могут быть константы, выражения соответственного типа,
Если в команде задан источник данных DEFAULT VALUES, то строчка будет содержать лишь значения по дефлоту либо значения NULL.
Если в данной команде в пространство имени таблицы задать имя представления, то новенькая строчка будет вставлена в нужно стремительно сделать таблицу, имеющую такую структуру, чтоб в ней можно было сохранить итог выполнения запроса, то следует употреблять последующую команду:
SELECT перечень избираемых колонок начальных таблиц
INTO имя автоматом создаваемой таблицы
FROM перечень начальных таблиц
[условия выбора значений из таблиц]
Имена колонок новейшей таблицы или совпадают с именами колонок начальных таблиц, или задаются опосля главного слова AS, последующего за именованием колонки начальной таблицы. имя создаваемой таблицы обязано быть неповторимым в границах базы данных. Почаще всего эта команда употребляется для сотворения временных локальных (#) и глобальных (##) таблиц.
Для хоть какой базы данных внедрение команды SELECT… INTO запрещено. Для установки разрешения на ее внедрение нужно выполнить команду:
EXES sp_dboption ‘имябазыданных’, ‘select into/bulkcopy’, ‘on’
Изменение данных в таблицах либо задание значений переменным делается командой UPDATE:
UPDATE имя таблицы либо представления WITH блокировка
SET имя колонки либо переменной = выражение…
FROM имена начальных таблиц
WHERE условия поиска
Удаление данных из таблиц делается командой DELETE:
DELETE FROM имя таблицы либо представления
либо
DELETE FROM имя таблицы
WHERE условие поиска OPTION (уровни блокировки).
Заключение
Направление ООБД появилось сравнимо издавна. Публикации возникли уже посреди 80-х гг. Но более интенсивно это направление развивается в крайние годы. С каждым годом возрастает число публикаций и реализованных коммерческих и экспериментальных систем [4].
Появление направления ООБД определяется до этого всего потребностями практики: необходимостью разработки сложных информационных прикладных систем, для которых разработка предыдущих систем БД не была полностью удовлетворительной.
Более принципиальным новеньким качеством ООБД, которого дозволяет достигнуть объектно-ориентированный подход, является поведенческий нюанс объектов. В прикладных информационных системах, основывавшихся на БД с классической организацией, существовал принципный разрыв меж структурной и поведенческой частями. Структурная часть системы поддерживалась всем аппаратом БД, ее можно было моделировать, верифицировать и т.д., а поведенческая часть создавалась изолированно. В среде ООБД проектирование, разработка и сопровождение прикладной системы становится действием, в каком интегрируются структурный и поведенческий нюансы. естественно, для этого необходимы особые языки, дозволяющие определять объекты и создавать на их базе прикладную систему [10].
В истинное время ведется весьма много экспериментальных и производственных работ в области СУБД. Уже несколько годов назад отмечалось существование, по наименьшей мере, 13-ти коммерчески доступных систем ООБД. Посреди их системы O2, ORION, GemStone и Iris.
Глоссарий
№
Понятие
Содержание
1
2
3
1
метод
Именованная совокупа данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области
2
Атрибут
Именованная черта, определяющая характеристики данной сути (объекта)
3
база данных
Четкое предписание, определяющее вычислительный процесс, ведущий от варьируемых исходных данных к разыскиваемому результату
4
Данные
Набор определенных значений, характеристик, характеризующих
объект, условие, ситуацию либо любые остальные причины
5
запрос
Команда, которая даётся СУБД и которая докладывает ей, чтоб она вела определённую информацию из таблиц
6
Индекс
Структура данных, которая помогает СУБД резвее обнаруживать отдельные записи в таблице, а поэтому дозволяет уменьшить время выполнения запросов юзера
7
Ключ
Малый набор атрибутов, по значениям которых можно совершенно точно отыскать требуемый экземпляр сути
8
Компонент
Многофункциональный элемент, имеющий определенные характеристики и размещаемый программером в окне формы
9
Представления
Виртуальные таблицы, определяемые запросом на языке Transact-SQL
10
Свойство
Особый механизм классов, регулирующий доступ к полям
11
Связь
Ассоциация, устанавливаемая меж несколькими сущностями, и показывающая как ведут взаимодействие сути меж собой
12
Система управления базами данных
совокупа языковых и программных средств, созданных для сотворения, ведения и совместного использования БД почти всеми юзерами
13
файл
Именованная область наружной памяти, в которую записывают и из которой считывают данные
Перечень использованных источников
1. Бойко В.В. Проектирование баз данных информационных систем / В.В. Бойко, В.М. Савинков – М., 1989.
2. Дейт К.Дж. Введение в системы баз данных / К.Дж. Дейт. – К.;М.;СПб: Вильямс, 2001. – 1096 с.
3. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ / Г.Джексон – М.: мир, 1991.
4. Диго С.М. Проектирование и внедрение баз данных / С.М. Диго – М.: деньги и статистика, 1995.
5. Карпова Т.С. Базы данных: модели, разработка, реализация / Т.С. Карпова. – СПб.: Питер, 2001. – 304 с.
6. Кириллов В.В. Структуризованный язык запросов (SQL) / В.В. Кириллов, Г.Ю. Громов – СПб.: ИТМО, 1994
7. Мартин Дж. Планирование развития автоматических систем / Дж. Мартин – М.: Деньги и статистика, 1984.
8. Мейер М. Теория реляционных баз данных / М. Мейер – М.: мир, 1987.
9. Михеева В.Д. Microsoft Access 2002 / В.Д. Михеева, И.А. Харитонова – СПб.: БХВ, 2002.
10. Тиори Т. Проектирование структур баз данных. В 2 кн. / Т. Тиори, Дж. Фрай – М.: мир, 1985.
Перечень сокращений
1. ANSI — American National Standard Institute
2. IAM — index allocation map
3. GAM — global allocation map
4. MB — мб
5. MDF — master data file
6. SGAM — shared global allocation map
7. SQL — structured querylanguage
8. UDDT — User-defined data types
9. БД — базаданных
10. ООБД — объектно-ориентированные базы данных
11. СУБД — системы управления базами данных
Приложение А
Набросок 1 — содержимое папки Databases в SQL Server 2000
Приложение Б
Набросок 2 — ОкнорегистрациисервераRegistered SQL Server Properties
приложение В
Набросок 3 – Окно сотворения новейшей базы данных, вкладка General
приложение Г
Набросок 4 — Окно сотворения новейшей базы данных, вкладка Data Files
приложение Д
Набросок 5 — Окно сотворения новейшей базы данных, вкладка Transaction Log
приложение Е
Таблица 1 – Системные базы данных SQLServer 2000 и их предназначение
Заглавие
Предназначение
Размещение
master
Хранит всю системную информацию сервера, включая учетные записи и характеристики, сведения о всех базах и местонахождении их первичных файлов с данными о инициализации баз данных юзеров
master.mdf — файл данных
(7.5 Мбайт)
mastlog.ldf-журнал транзакций (1 Мбайт)
model
Является шаблоном, задаваемым админом и применяемым для сотворения всех пользовательских баз данных. Содержит характеристики по дефлоту, которые можно переопределять при разработке соответственной базы данных юзера
model.mdf — файл данных
(0.75 Мбайт)
modellog.ldf – журнальчик транзакций (0.75 Мбайт)
tempdb
Хранит все временные системные и пользовательские объекты: таблицы, переменные, хранимые процедуры и т д.
tempdb.mdf – файл данных (8 Мбайт)
templog.ldf – журнальчик транзакций (0.5 Мбайт)
msdb
Хранит информацию, относящуюся к автоматизации администрирования и управления сервером
msdbdata.mdf –файл
данных(3.5 Мбайт)
msdblog.ldf —журнальчик
транзакций (0.75 Мбайт)
приложение Ж
Таблица 2 – Перечень и описание системных таблиц
Заглавие таблицы
Описание
sysallocations
Содержит сведения о размещении объектов снутри БД
syscolumns
Содержит информацию о любом столбце таблицы либо представления БД, также о любом параметре хранимой процедуры
syscomments
Содержит информацию о любом объекте БД
syscontrains
Обрисовывает связь меж ограничениями и объектами, которым они принадлежат
sysdepends
Содержит ссылки на объекты, которые были применены при определении остальных объектов БД
sysfilegroups
Перечислены все группы файлов, принадлежащих БД
sysfiles
Перечислены все файлы БД
sysforeignkeys
Содержит информацию, определяющую ограничение FOREIGN KEY
sysfulltextcatalogs
Перечислены все полнотекстовые сборники, присоединенные к БД
sysindexes
Употребляется для хранения инфы о индексах и таблицах БД
sysindexkeys
Хранит сведения о ключах и столбцах индексов
sysmembers
Содержит информацию обо всех участниках ролей БД
sysobjects
Содержит сведения обо всех объектах, создаваемых в базе данных
syspermissions
Содержит информацию о предоставленных или отклоненных правах на доступ к объектам БД для ролей, юзеров и групп юзеров
sysprotects
Содержит сведения о разрешениях, которые предоставляются или отзываются средством установок GRANT и REVOKE
sysreferences
Содержит соответствия меж ограничением FOREIGN KEY и столбцами, на которые оно ссылается
systypes
Содержит информацию обо всех типах данных, как интегрированных, так и пользовательских
sysusers
Содержит перечень всех юзеров БД
приложение З
Таблица 3 — Набор таблиц системной базы данных master
Заглавие таблицы
Описание
sysaltfiles
Сведения о всех файлах всех баз данных
syscacheobjects
информация о использовании кэш-памяти
syscharsets
Все наборы знаков сервера и порядок сортировки
sysconfigures
Опции сервера перед пуском во время работы (динамические),
производимые юзером
sysurconfigs
Текущие значения характеристик опции сервера
sysdatabases
Сведения обо всех базах данных сервера
sysdevices
Сведения обо всех файлах базы данных, хранящихся на разных устройствах
syslanguages
Сведения о языках сервера (не считая британского)
syslockinfo
информация обо всех блокировках
syslogins
Сведения о учетной записи юзера
sysmessages
Учетные записи и пароли юзеров для связанных серверов
sysprocesses
информация о микропроцессорах, запушенных на сервере (системных и клиентских)
sysremotelogins
Сведенья о юзерах, которым разрешено вызывать удалённые хранимые процедуры
sysservers
информация о серверах, способных выступать в роли источника данных OLE DB для сервера]]>