Сатпаевские чтения: Труды Международной научно-технической конференции. - 2011. - С. 188-193 ПРОЕКТИРОВАНИЕ И АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ В MS SQL SERVER Научный руководитель: профессор каф.ВТ Айтхожаева Е.Ж. Студент: Абдикеев Д.Б. Данная работа посвящена проектированию и администрированию базы данных в сервере MS SQL Server 2005 для учета водителей, автомобилей, штрафов и угонов в автоинспекции. В настоящее время во многих сферах жизнедеятельности приходится работать с большим количеством информации, которую необходимо хранить, считывать и записывать. Большую часть времени администраторы заведений, преподаватели, чиновники и другие работники тратят на оформление различной документации и отчетов. Базы данных являются хорошим решением данной проблемы. Базы данных являются эффективным средством представления структур данных и манипулирования ими. Концепция баз данных предполагает использование интегрированных средств хранения информации, которые обеспечивают централизованное управление данными и обслуживание ими многих пользователей. При этом БД должна поддерживаться в среде ЭВМ единым программным обеспечением, называемым системой управления базами данных (СУБД). Системы управления базами данных (СУБД, DBMS – Database Management System) на протяжении всего пути развития компьютерной техники совершенствовались, поддерживая все более сложные уровни абстрактных данных, заданных пользователем, и обеспечивая взаимодействие компонентов, распределенных в глобальных сетях и постепенно интегрирующихся с телекоммуникационными системами. Для качественной и стабильной работы база данных должна быть грамотно спроектирована, постоянно контролироваться и иметь надежную защиту от различного рода атак и попыток взлома. В данной работе решаются вопросы проектирования и администрирования баз данных в сервере MS SQL Server 2005 для решения задач автоинспекции. Был проведен анализ предметной области. Основной целью создания данной базы данных является удобное, быстрое и качественное обращение с информацией об участниках дорожного движения и их нарушениях. Такая база может найти применение в хранении информации о неуклонно растущих автолюбителях. Помимо хранения информации, пользователь базы данных может осуществлять запросы на выборку и поиск информации. База данных должна содержать информацию об автомобилях и их водителях. Каждый автомобиль обладает следующими характеристиками: - государственный регистрационный номер; - марка и модель; - цвет; - год выпуска; - номер двигателя; - объем двигателя. В базе должна содержаться следующая информация о водителе: - фамилия, имя, отчество; - информация о водительском удостоверении (номер, дата получения, срок окончания действия); - категория вождения. Система должна предусматривать режимы ведения системного каталога (справочников), отражающего список марок, типов кузова, категорий цвета. Решаемые задачи: - ведение списка автомобилей и их владельцев; - регистрация автомобилей; - учет данных об автомобилях и их владельцев; - ведение списка оштрафованных водителей; - ведение списка угнанных автомобилей; - поиск владельца по автомобилю; - получение списка автомобилей по определенной характеристике (цвет, модель, марка); - выдача информации по госномеру об автомобиле и его владельцу; - получение списка автомобилей, находящихся в угоне. Для проектирования базы данных использован ER-метод, который позволяет спроектировать базу данных любой сложности с использованием CASE-средств проектирования. Были определены сущности, атрибуты и связи между ними. Построены ER-диаграммы в CASE-средстве проектирования баз данных Erwin на логическом и физическом уровне и установлены через первичные ключи связи между сущностями. Полученная ER-диаграмма представлена на рисунке 1. Сущность proizvoditeli содержит названия марок автомобилей: proizv_id, идентификатор марки (первичный ключ); nazv, название марки. Сущность models cодержит список моделей различных марок автомобилей: model_id, идентификатор модели (первичный ключ); nazv, название модели; proizv_id, принадлежность определенной марке (внешний ключ). Сущность colors содержит названия цветов автомобилей: color_id, идентиикатор цвета (первичный ключ); nazv, название цвета. Сущность pen (справочник штрафов): pen_id, идентификатор штрафа (первичный ключ); nazv, описание штрафа; cost, цена за нарушение. Сущность categories содержит все возможноые водительские категории: cat_id, идентификатор категории (первичный ключ); nazv, категория. Сущность drivers содержит полную информацию о владельце автомобиля: driver_id, идентификатор водителя (первичный ключ); fam, фамилия; nam, имя; otch, отчество; nom_udost, номер водительского удостоверения; reg, дата получения водительского удостоверения; endreg, окончание срока действия водительского удостоверения; cat_id, категория вождения (внешний ключ). Рисунок 1. ER-диаграмма логического уровня Сущность cars содержит информацию об автомобилях: car_id, государственный регистрационный номер (первичный ключ); proizv_id, марка (внешний ключ); model_id, модель (внешний ключ); color_id, цвет (внешний ключ); driver_id, владелец (внешний ключ); god, год выпуска; engine_id, номер двигателя; engine, объем двигателя; active, признак регистрации (зарегистрировано, незарегистрировано). Сущность penhistory содержит информацию о всех штрафах водителя: id, идетнификатор штрафа (первичный ключ); driver_id, водитель (внешний ключ); car_id, государственный регистрационный номер (внешний ключ); pen_id, штраф (внешний ключ); summ, сумма штрафа;created, дата получения штрафа. Сущность ugon содержит информацию об угнанных автомобилях: ugon_id, идентификатор угона (первичный ключ); car_id, автомобиль (внешний ключ); vugone, признак нахождения в угоне; data_ugona, дата угона; end_ugon, признак возвращения из угона; data_endugon, дата возвращения из угона. Сгенерированы SQL скрипты для реализации базы данных в СУБД MS SQL Server. База данных была реализована в MS SQL Server 2005. Спроектированы и реализованы представления и хранимые процедуры базы данных, обеспечивающие комфортность работы пользователей и защиту физических таблиц: вывод данных в отсортированном виде, получение справочной информации по автомобилям и водителям, получение статистических данных по угонам и штрафам (в разрезе месяцев, типов моделей и пр.) и т.д. Разработаны триггеры, которые создают определенные ограничения в базе данных, что позволяет избежать несоответствия в данных, обеспечивают поддержку целостности данных и запрет несанкционированных действий. Выполнено администрирование базы данных. Администратор БД (АБД) имеет множество различных обязанностей, но главное для него обеспечить постоянную работу сервера и БД и предоставить пользователям доступ к нужной информации в любое время. Кроме того, АБД должен делать все от него зависящее, чтобы обеспечить защиту данных и свести к минимуму вероятность их потери Исходя из анализа предметной области определены пользователи и их полномочия, заведены учетные записи, реализованы роли, назначены привилегии ролям. Определена стратегия резервирования, разработана инструкция администратору базы данных, в которой обозначены задачи и обязанности администратора, а так же требования к технической платформе. Объём внешней памяти, необходимый для функционирования системы, складывается из двух составляющих: память, занимаемая модулями СУБД (ядро, утилиты, вспомогательные программы), и память, отводимая под данные (МД). Наиболее существенным обычно является МД. Рассчитан объём памяти МД, требуемый для хранения данных (для г.Алматы), который составил 48315600 байт. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 1. Дунаев В.В. Базы данных. Язык SQL для студентов. СПб.: БХВ – Петербург, 2006. – 286 с. 2. Уильям С. Станек. MS SQL Server 2005. Справочник администратора. М.: Русское издание, 2006. – 544 с. 3. Михеев Р.Н. MS SQL Server 2005 для администраторов. СПб.: БХВ – Петербург, 2006. – 544 с. 4. Фленов М. Transact-SQL. СПб.: БХВ – Петербург, 2006. – 577 с. 5. Маклин Й., Орин Т. Оптимизация и администрирование баз данных Microsoft SQL Server 2005. М.: Русское издание, 2007. – 624 с.