Администрирование SQL Server 2000

Автор: Пользователь скрыл имя, 16 Декабря 2010 в 08:31, курсовая работа

Краткое описание

SQL Server 2000 на сегодняшний день является эффективнейшим программным продуктом, который позволят работать со множеством баз данных. Выделяют два основных раздела работы с сервером, каждый из которых можно разделить на более мелкие блоки: администрирование; программирование.

Оглавление

Введение………………………………………………………………………..…...3
1 Системы управления базами данных (СУБД) …………………………………5
1.1 Обзор СУБД……………………………………………………………………6
1.2 Основные понятия…………………………………………………………….11
1.3 Функции СУБД…………………………………………………………….….13
1.4 Типы СУБД……………………………………………………………………15
2 Модели данных……………………………………………………………….....17
2.1 Иерархические СУБД………………………………………………………....17
2.2 Сетевые СУБД………………………………………………………………...18
2.3 Реляционные СУБД…………………………………………………………...18
2.4 Объектно-ориентированные СУБД …………………………………………19
3 Средства быстрой разработки приложений………………………………......20
3.1 Visual FoxPro…………………………………………………………………..20
3.2 Microsoft Access……………………………………………………………….23
3.3 Visual Basic…………………………………………………………………….24
3.4 MS SQL Server………………………………………………………………...25
Заключение..……………………………………………………………………….27
Глоссарий………………………………………………………………………….28
Список используемых источников………..…………………………..…………30
Приложение А …………………………………..………………………………..31
Приложение Б ………………………….…………………………………………32

Файлы: 1 файл

SQL 2000.doc

— 718.50 Кб (Скачать)

     Атрибут (или данное) — это некоторый  показатель, который характеризует  некий объект и принимает для  конкретного экземпляра объекта некоторое числовое, текстовое или иное значение. Информационная система оперирует наборами объектов, спроектированными применительно к данной предметной области, используя при этом конкретные значения атрибутов (данных) тех или иных объектах.

     Развитие  реляционных баз данных началось в конце 60-х годов, когда появились первые работы, в которых обсуждались возможности использования при проектировании баз данных привычных и естественных способов представления данных — так называемых табличных даталогических моделей.

     Основоположником  теории реляционных баз данных считается сотрудник фирмы IBM доктор Э. Кодд, опубликовавший 6 июня 1970 г. статью A Relational Model of Data for Large Shared Data Banks (Реляционная модель данных для больших коллективных банков данных). В этой статье впервые был использован термин «реляционная модель данных», что и положило начало реляционным базам данных.

     Теория  реляционных баз данных, разработанная в 70-х годах в США

доктором Э. Коддом, имеет под собой мощную математическую основу, описывающую правила эффективной организации данных. Разработанная

Э. Коддом теоретическая база стала основой для разработки теории проектирования баз данных.

     Э. Кодд, будучи математиком по образованию, предложил использовать для обработки  данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он доказал, что любой набор данных можно представить в виде двумерных таблиц особого вида, известных в математике как «отношения».

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

     Таблица состоит из столбцов (полей) и строк (записей); имеет имя, уникальное внутри базы данных. Таблица отражает тип  объекта реального мира (сущ¬ность), а каждая ее строка — конкретный объект. Так, таблица Спортивная секция содержит сведения обо всех детях, занимающихся в данной спортивной секции, а ее строки представляют собой набор значений атрибутов каждого конкретного ребенка. Каждый столбец таблицы — это совокупность значений конкретного атрибута объекта. Столбец Вес, например, представляет собой совокупность всех весовых категорий детей, занимающихся в секции. В столбце Пол могут содержаться только два различных значения: «муж.» и «жен.». Эти значения выбираются из множества всех возможных значений атрибута объекта, которое называется доменом (domain). Так, значения в столбце выбираются из множества всех возможных весов детей.

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

     Домен дат рождения имеет тип данных, позволяющий хранить информацию о моментах времени, а домен имен сотрудников должен иметь символьный тип данных.

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

     Если  два значения берутся из одного и  того же домена, то можно выполнять  сравнение этих двух значений. Например, если два значения взяты из домена дат рождения, то можно сравнить их и определить, кто из сотрудников  старше. Если же значения берутся из разных доменов, то их сравнение не допускается, так как, по всей вероятности, оно не имеет смысла. Например, из сравнения имени и даты рождения сотрудника ничего определенного не выйдет.

     В большинстве систем управления реляционными базами данных понятие домена не реализовано. Каждый элемент данных в отношении может быть определен с указанием его адреса в формате A[i , j], где А — элемент данных, i — строка отношений, j — номер атрибута отношения.

     Количество  атрибутов в отношении определяет его порядок (или степень. Множество значений А [ i , j ] при постоянном i и всех возможных j образуют кортеж (или попросту строку таблицы). Количество всех кортежей в отношении определяет его мощность, или кардинальное число. Мощность отношения, в отличие от порядка отношения, может со временем меняться. Совокупность всех кортежей образует тело отношения (или собственно таблицу). 

     Поскольку отношения являются математическими  множествами, которые по определению  не могут содержать совпадающих  элементов, никакие два кортежа в отношении не могут быть дубликатами друг друга в любой момент времени.

     Каждый  столбец (поле) имеет имя, которое  обычно записывается в верхней части  таблицы. При проектировании таблиц в рамках конкретной СУБД имеется  возможность выбрать для каждого поля его тип, то есть определить набор правил по его отображению, а также определить те операции, которые можно выполнять над данными, хранящимися в этом поле. Наборы типов могут различаться у разных СУБД.

     Имя поля должно быть уникальным в таблице, однако различные таблицы могут иметь поля с одинаковыми именами. Любая таблица должна иметь, по крайней мере, одно поле; поля расположены в таблице в соответствии с порядком следования их имен при ее создании. В отличие от полей, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.

     Так как строки в таблице не упорядочены, невозможно выбрать строку по ее позиции  — среди них не существует «первой», «второй», «последней». Любая таблица  имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). В таблице Спортивная секция первичный ключ — это столбец Ф.И.О. Такой выбор первичного ключа имеет существенный недостаток: невозможно записать в секцию двух детей с одним и тем же значение поля Ф.И.О., что на практике встречается не так уж редко. Именно поэтому часто вводят искусственное поле, предназначенное для нумерации записей в таблице. Таким полем, например, может быть его порядковый номер в журнале для каждого ребенка, который сможет обеспечить уникальность каждой записи в таблице. Ключ должен обладать следующими свойствами. Уникальностью. В каждый момент времени никакие два различных кортежа отношения не имеют одинакового значения для комбинации входящих в ключ атрибутов. То есть в таблице не может быть двух строк, имеющих одинаковый идентификационный номер или номер паспорта.

     Минимальностью. Ни один из входящих в ключ атрибутов  не может быть исключен из ключа без нарушения уникальности. Это означает, что не стоит создавать ключ, включающий и номер паспорта, и идентификационный номер. Достаточно использовать любой из этих атрибутов, чтобы однозначно идентифицировать кортеж. Не стоит также включать в ключ неуникальный атрибут, то есть запрещается использование в качестве ключа комбинации идентификационного номера и имени служащего. При исключении имени служащего из ключа все равно можно уникально идентифицировать каждую строку.

     Выполнение  условия уникальности является обязательным. В то же время при необходимости может быть допущено нарушение условия минимальности.

     Каждое  отношение имеет, по крайней мере, один возможный ключ, поскольку совокупность всех его атрибутов удовлетворяет  условию уникальности — это следует из самого определения отношения.

     Один  из возможных ключей произвольно  выбирается в качестве первичного ключа. Остальные возможные ключи, если они есть, принимаются за альтернативные ключи. Например, если в качестве первичного ключа выбрать идентификационный номер, то номер паспорта будет альтернативным ключом.

     Взаимосвязь таблиц является важнейшим элементом  реляционной модели данных. Она поддерживается внешними ключами (foreign key). Рассмотрим пример. При описании модели реляционной базы данных для одного и того же понятия часто употребляют различные термины, что зависит от уровня описания (теория или практика) и системы (Access, SQL Server, dBase).  
 
 
 
 
 
 
 
 
 

     1.1 Общие правила разграничения доступа

     Если  база данных предназначена для использования  более чем одним человеком, необходимо позаботиться о разграничении прав доступа. В процессе планирования системы  безопасности следует определить, какие  данные могут просматривать те или иные пользователи и какие действия в базе данных им разрешено при этом предпринимать.

     После проектирования логической структуры  базы данных, связей между таблицами, ограничений целостности и других структур необходимо определить круг пользователей, которые будут иметь доступ к базе данных. Чтобы разрешить этим пользователям обращаться к серверу, необходимо создать для них учетные записи в SQL Server либо предоставить им доступ посредством учетных записей в домене, если используется система безопасности Windows NT. Разрешение доступа к серверу не дает автоматически доступа к базе данных и ее объектам.

     Второй  этап планирования системы безопасности заключается в определении действий, которые может выполнять в  базе данных конкретный пользователь. Полный доступ к базе данных и всем ее объектам имеет администратор, который является своего рода хозяином базы данных — ему позволено все. Второй человек после администратора — это владелец объекта. При создании любого объекта в базе данных ему назначается владелец, который может устанавливать права доступа к этому объекту, модифицировать его и удалять. Третья категория пользователей имеет права доступа, выданные им администратором или владельцем объекта.

     Следует тщательно планировать права, выдаваемые пользователям в соответствии с занимаемой должностью и необходимостью выполнения конкретных действий. Так вовсе необязательно назначать права на изменение данных в таблице, содержащей сведения о зарплате сотрудников, директору компании. И, конечно же, нельзя предоставлять подобные права рядовому сотруднику. Вы можете выдать права только на ввод новых данных, например информации о новых клиентах. Неправильный ввод такой информации не нанесет серьезного ущерба компании, но если добавить к правам ввода еще и возможность исправления или удаления уже существующих данных, то злоумышленник, завладевший паролем, может нанести существенные финансовые потери. Кроме этого, следует учесть ущерб от работы пользователей, не сильно задумывающихся о последствиях своих действий.

     Правильно спроектированная система безопасности не должна позволять пользователю выполнять действия, выходящие за рамки его полномочий. Не лишним также будет предусмотреть дополнительные средства защиты, например, не разрешать удалять данные, если срок их хранения не истек, то есть они не потеряли актуальность. Можно также предоставлять служащим, которые недавно устроились на работу, минимальный доступ или доступ только в режиме чтения. Позже им можно будет разрешить и изменение данных.

     Следует внимательно относиться к движению сотрудников внутри компании, их переходам из одного отдела в другой. Изменения занимаемой должности должны незамедлительно отражаться на правах доступа. Своевременно следует удалять пользователей, которые больше не работают в компании. Если оставить человеку, занимавшему руководящую должность и ушедшему в конкурирующую фирму, доступ к данным, он может воспользоваться ими и нанести ущерб вашей компании.  
 
 
 
 
 
 
 
 
 
 
 

     1.2. Архитектура системы безопасности SQL Server 2000

  • Система безопасности SQL Server 2000 базируется на пользователях и учетных записях. Пользователи проходят следующие два этапа проверки системой безопасности. На первом этапе пользователь идентифицируется по имени учетной записи и паролю, то есть проходит аутентификацию. Если данные введены правильно, пользователь подключается к SQL Server. Подключение к SQL Server, или регистрация, не дает автоматического доступа к базам данных. Для каждой базы данных сервера регистрационное имя (или учетная запись — login) должно отображаться в имя пользователя базы данных (user). На втором этапе, на основе прав, выданных пользователю как пользователю базы данных (user), его регистрационное имя (login) получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинаковые или разные имена user с разными правами доступа.
  • Для доступа приложений к базам данных им также понадобятся права. Чаще всего приложениям выдаются те же права, которые предоставлены пользователям, запускающим эти приложения. Однако для работы некоторых приложений необходимо иметь фиксированный набор прав доступа, не зависящих от прав доступа пользователя. SQL Server 2000 позволяет предоставить такие с применением специальных ролей приложения.
  • Итак, на уровне сервера система безопасности оперирует следующими понятиями:
  • 1) аутентификация (authentication);
  • 2) учетная запись (login);
  • 3) встроенные роли сервера (fixed server roles).
  • На уровне базы данных используются следующие понятия: пользователь базы данных (database user); фиксированная роль базы данных (fixed database role); пользовательская роль базы данных (users database role); роль приложения (application role).

Информация о работе Администрирование SQL Server 2000