Разработка и сопровождение баз данных в 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» ) рассматриваются физическая и логическая организация баз данных, сотав и назначение системных баз данных сервера. Во второй главе («Создание и сопровождение баз данных средствами Enterprise Manager» ) рассматривается создание, сопровождение, удаление иперенос базы данных на другие сервера. В качестве инструментария используетсяграфическая утилита Enterprise Manager. Третья глава («Основы программирования на языке Transact-SQL» ) включает в себя основы структурированного языка запросов Transact-SQL, способы выполнения основных действий по созданию и сопровождению баз данных и входящих в них объектов средствами языка Transact-SQL. В данной главе приводятся шаблоны и примеры применения соответствующих команд. Более полный набор примеров по командам языка Transact-SQL. В приложениях представлены рисунки и таблицы.
1. Архитектура базы данных MS SQL S erver 2000 Структурой хранения данных в SQL Server 2000 является база данных (database). Вся работа SQL Server 2000 сводится к управлению базами данных. Системные данные сервера, отвечающие за его функционирование, также хранятся в базах данных. Базу данных SQL Server 2000 можно рассматривать с двух сторон: физической и логической . При работе с любой базой данных SQL Server 2000 – пользовательской или системной – действуют одни и те же механизмы. Физическая база данных представляет собой набор файлов, расположенных на диске. С этими файлами можно выполнять любые операции, разрешенные для обычных файлов: копирование, переименование, удаление и т. д. Конечно, делать этого не стоит, но все же выполнение перечисленных операций в случае необходимости возможно. Физическая структура базы данных описывает количество файлов данных и журнала транзакций, из которых состоит база данных, их первоначальный и текущий размер, положение на диске, имя, расширение, шаг приращения и некоторые другие параметры. Эти параметры необходимы только для правильного восприятия SQL Server 2000 базы данных. Для пользователей, работающих с базой данных, в подавляющем большинстве случаев ее физическая структура не имеет значения. Гораздо больший интерес для пользователей представляет логическая структура базы данных , описывающая все ее объекты, их поведение ивзаимодействие друг с другом. Логическая структура базы данных включает в себясистемные и пользовательские таблицы, представления, хранимые процедуры,пользователей и роли, умолчания, ограничения целостности и другие объекты. 1.1 Физическая архитектура базы данных SQL S erver 2000 Физическая база данных SQL Server 2000 хранится в самостоятельном, уникальном для каждой БД наборе файлов. Журнал транзакций и сами данные обязательно хранятся отдельно. Это повышает отказоустойчивость базы данных в случае сбоев системы. 1.1.1 Файлы данных и группы файлов Для хранения базы данных предназначен набор файлов, персональный для любой базы данных. Каждый файл может принадлежать только одной базе данных. В SQL Server 2000 существует два типа файлов базы данных: · файлы данных; · файлы журнала транзакций. Файлы данных (data file) предназначены для хранения информации, находящейся в таблицах базы данных. Кроме того, в этих файлах также размещены процедуры, ограничения, триггеры, индексы и другая информация; В файлы журнала транзакций ( transaction log file ) SQLServer 2000 записывает информацию о ходе выполнения транзакций. В них размешается информация о состоянии данных перед началом транзакции, о выполняемых изменениях, блокированных ресурсах и другая сопутствующая информация. Любая база данных должна содержать как минимум один файл данных и один файл журнала транзакций, т.е. минимальное количество файлов, составляющих базу данных, равно 2. При необходимости администратор может добавлять новые файлы данных или файлы журнала транзакций. Файлы данных бывают двух типов: · Primary File (основной, или главный, файл); · Secondary File (вторичный, или дополнительный, файл). Каждая база данных имеет один и только один основной или главный файл (Primary File) . Если база данных включает в себя только один файл данных, то этотфайл будет основным. Основной файл предназначен для хранения всех системныхтаблиц, присутствующих в любой базе данных. В основном файле хранитсяинформация о структуре базы данных, созданных в ней объектах, параметрахдополнительных файлов и файлов журнала транзакций. По умолчанию основномуфайлу базы данных присваивается расширение mdf . В отличие от основного файла база данных может содержать множество вторичных или дополнительных файлов (Secondary File ) или не содержать их вовсе. В дополнительных файлах может храниться только пользовательская информация. Хранение любой системной информации не допускается. В ходе эксплуатации базы данных администратор может добавлять новые или удалять уже существующие дополнительные файлы. Файлы журнала транзакций бывают только одного типа – Transaction Log File , служащего для хранения журнала транзакций. В базе данных должен быть какминимум один файл журнала транзакций. Для ускорения обработки транзакцийможно использовать несколько журналов транзакций, расположенных на разныхфизических дисках. Для каждого файла базы данных можно задать свойство автоматического роста и шаг прироста в мегабайтах или в процентах от первоначального роста, а также максимальный размер, до которого возможен рост файла. Каждый файл, используемый в базе данных, имеет два имени: · Logical File Name – логическое имя файла, которое используется в командах Transact-SQL при ссылке на конкретный файл; · OS File Name – имя файла в операционной системе, которое используется для обращения к файлу в операционной системе. Сложные базы данных могут иметь несколько файлов для данных и для журнала транзакций. В этом случае файлы БД объединяются в группы для упрощения администрирования базы данных. SQL Server 2000 обеспечивает создание групп следующих трех типов: · Primary File Group – основная группа файлов, которая включает первичный файл и все файлы, не включенные в другие группы, база данных может иметь только одну основную группу файлов; · User-defined File Group – пользовательская группа файлов, создаваемая командой CREATE DATEBASE или командой ALTER DATABASE , если в них используется параметр FILEGROUP, в базе данных можно создать несколько пользовательских групп файлов с произвольным набором файлов; · Default File Group – группа файлов по умолчанию, в качестве которой назначается одна из групп файлов, созданных в базе данных. Только одна группа файлов может быть группой по умолчанию. Если не указано явно, группой по умолчанию становится основная группа. Если при создании объекта базы данных не указано явно, к какой группе файлов он будет принадлежать, то этот объект создается в группе файлов по умолчанию. Когда какие-то данные записываются в группу файлов, они распределяются между файлами этой группы равномерно, т.е. производится распараллеливание записи данных. Для этих целей можно использовать и возможности файловой системы NTFS: чередующийся набор дисков с контролем четности и без него [7]. Любая группа файлов, в том числе и основная, может быть установлена в режим только для чтения, что позволяет защитить данные, записанные на файлы этой группы. 1.1.2 Страничная организация файлов данных Основная единица хранения данных на уровне файла базы данных – это страница , которая участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна строка. Каждая страница файла базы данных имеет объем 8192 байт. Страницы объединяются в экстенты. Экстент состоит из 8 страниц (64 Кбайт). Первые 96 байт страницы отводятся под заголовок, в котором хранится системная информация: · тип страницы; · объем свободного места на странице; · идентификационный номер таблицы или индекса – владельца страниц.
Имеется шесть типов страниц: · 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) - не могут существовать сами по себе и предназначены для повышения производительности работы сервера при поиске нужных данных в таблицах и представлениях, что достигается путем хранения в упорядоченном состоянии данных одного или более столбцов таблицы или представления; · ключи (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 имеется набор таблиц с системной информацией. Наименование таблиц базы данных 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. Создание базы данных заключается в том, что на уровне операционной системы будет создан набор файлов, который и станет представлять базу данных. Каждая база данных как минимум состоит из двух файлов – один для данных и один для журнала транзакций. Помимо этих двух файлов, могут быть созданы дополнительные файлы данных и журнала транзакций. Один из файлов данных является первичным (primary ) и содержит все системные таблицы базы данных. Помимо этого, в системной таблице sysdatabases системной базы данных master SQL Server создается новая строка, которая описывает новую базу данных. В столбце filename этой строки содержится полный путь и имя первичного файла базы данных. Всю остальную информацию о параметрах базы данных, в том числе о количестве и размещении файлов данных и журнала транзакций, сервер получает из системных таблиц базы данных, размещенных в первичном файле. Помимо имени первичного файла, таблица sysdatabases содержит также идентификационный номер базы данных (столбец dbid ), идентификатор безопасности владельца базы данных (столбец sid ), дату создания (столбец crdate ), уровень совместимости (столбец cmptlevel ) и другую информацию. В данном разделе рассмотрим создание базы данных с помощью графического интерфейса Enterprise Manager. С помощью этого инструмента можно не только создавать базы данных, но и управлять ими, а также удалять их. В общем случае использование Enterprise Manager по сравнению с непосредственным использованием команд Transact-SQL может заметно сократить время, необходимое на создание баз данных. Работа с Enterprise Manager не требует знания синтаксиса команды CREATE DATABASE, что является неоспоримым достоинством. Для управления базами данных SQL Server 2000 используется папка Databases (приложение А, рисунок 1), имеющаяся в каждой инсталляции. Непосредственно в этой папке перечисляется набор баз данных, созданных на сервере. Как видно из рисунка, в папке перечислены не только пользовательские базы данных, но и системные. Однако если не предполагается работать с системными базами данных, а также с системными объектами пользовательских баз данных и наличие их в панели 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 имеет три вкладки. Первая вкладка 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.
Рефераты по информатикеСодержание Введение. 4 1. Архитектура базы данных MS SQL Server 2000. 5 1.1 Физическая архитектура базы данных SQL Server 2000. 5 1.1.1 Файлы данных
Оценок: 601 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.