Определение базовых сущностей предметной области. Представление базы данных реляционной моделью. Построение ER-диаграмм. Функции и архитектура информационной системы. Создание таблиц БД на языке SQL Server. Запросы на выборку и манипулирование данными.
История исследований систем баз данных - это, по сути, история развития приложений, достигших исключительной производительности и оказавших потрясающее влияние на экономику. Если еще 20 лет назад эта сфера была всего лишь областью фундаментальных научных исследований, то теперь на исследованиях баз данных основана целая индустрия информационных услуг, ежегодный бюджет которой только в США составляет 10 миллиардов долларов. Достижения в исследованиях баз данных стали основой фундаментальных разработок коммуникационных систем, транспорта и логистики, финансового менеджмента, систем с базами знаний, методов доступа к научной литературе, а также большого количества гражданских и военных приложений. Они также послужили фундаментом значительного прогресса в ведущих областях науки - от информатики до биологии.
База данных - поименованная совокупность данных, отображающих состояние объектов и их отношений в рассматриваемой предметной области, которая организуется так, что данные собираются однажды и централизованно хранятся (и модифицируются) в виде, доступном всем специалистам или системам программирования, которые могут их использовать.
1. Описание предметной области
Целью курсовой работы является проектирование и реализация базы данных учебного атласа мира, который охватывает весь земной шар. Создание справочных сведений, указателей географических названий. Я хочу создать обще комплексный атлас, включающие карты по физической и политической географии и дающие многостороннюю характеристику картографируемой территории.
Атлас мира - это крупнейшее картографическое издание, который содержит географическую информацию о рельефе суши и дна морей, гидрографии, географических названиях, политическом устройстве мира и административно-территориальном делении государств.
1.1 Обоснование разработки
В системе обрабатывается информация о физической и политической географий.
Физическая география описывает нашу планету - Землю - с двух ракурсов: вода и суша. Поэтому главными сущностями у нас будут земля, вода и суша.
Политическая география - это, прежде всего, страны мира, по которым собраны разнообразные статистические данные, подкрепленные и отсортированные по тем или иным показателям. В основном статистика ведется по наиболее популярным и востребованным сведениям, таким как численность населения и занимаемая территория. Все данные представлены как в целом по планете, так и отдельно для каждой части света. Другая шкала детализации: вся планета - страна - город. И в любом случае - это множество огромных чисел, которыми можно вертеть-крутить в свое удовольствие.
1.2 Постановка задачи
Написать программу, которая позволит реализовать процедуру просмотра информации баз данных. Хочу выделить ряд типовых этапов: • проектирование модели данных;
• Delphi приложение должно использовать запросы для связи с SQL;
• разработка запросов;
• использование триггеров и встроенных процедур.
2. Проектирование базы данных
2.1 Описание базы данных в терминах объектов предметной области
Чтобы описать сущности мне нужно выделить определенные атрибуты. А для реализации связей разных таблиц мы используем ключи, первичные и вторичные.
Система должна предусматривать разные информации такие, как какие страны должны находится в конкретных континентах, какие моря и океаны соединяются, список стран через которые проходят горные системы и т.д.
В соответствии с темой предметной области выделю особенности строения системы: · физическая география делит землю на два ракурса: суша и вода;
· сущность вода и суша присваивают связь с сущностью земля;
· к суше относятся разные сущности, такие как континенты, страны, острова, пустыни, горные системы, горные вершины, пещеры и вулканы;
· к воде тоже относятся разные объекты, такие как океаны, моря, проливы, реки, озера и водопады;
· так как сущности море, река и проливы часть океана они присваивают связь с сущностью океаном;
· точно так сущности водопад и озера присваивают связь с сущностью рекой;
· к таблице проливы присваивает связь таблица с номерами континент и стран;
· сущности водопад и озера не могут связаться с сущностями море и океан, так как они часть реки;
· с каждыми таблицами озера, реки, проливы, и моря связываются таблицы с номерами стран и континент, поскольку они омывают не только одни континенты и страны, также они связываются с сущностями которые относятся к ракурсу суша, точнее континенты и страны;
· сущность страны связывается с сущностью континенты;
· сущности пещеры и вулканы связываются с сущностями континенты и страны на прямую;
· с сущностям острова, пустыни, горные системы и горные вершины связываются таблицы с номерами стран и континент, поскольку они находятся не только на одних континентах и странах, и затем эти таблицы связываются с сущностями континенты и страны;
· не может быть что таблицы ракурса воды связались с таблицами ракурса суша (кроме континенты и страны);
В этой работе у меня существует отношение «один-ко-многим», например, одна страна может находится только в одном континенте. В одном континенте могут быть несколько стран. Или еще пример, гора может находится в нескольких странах. А если гора находится в одной стране то этот степень связи будет называться «один-ко-одному».
2.2 Построение информационной структуры предметной области (ER диаграмма)
На первом этапе необходимо выделить сущности. Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности.
Прочитав описание базы данных можно выделить следующие базовые сущности предметной области: · Земля (Zemlya). Атрибуты - земля, масса, площадь поверхности Земли и радиус.
· Вода (Voda). Здесь показан площадь водной поверхности воды и он нужен чтобы показать какие таблицы входят в ракурс воды. Атрибуты - ракурс, площадь воды, процент и атрибут земля.
Рис. 1
· Суша (Susha). Этот сущность нужен чтобы показать сколько площади занимает ракурс суша. И в нем хранится вся информация о суше, точнее о континентах, странах, горах, пещерах и т.д. Атрибуты - ракурс., площадь суши на земле, процент и земля.
· Океаны (Okeany). Эта сущность вводится для хранения информаций об океане, о водной поверхности Земли, который окружает сушу. Атрибуты - номер, имя, площадь, объем, максимальная глубина, атрибуты ракурс и земля.
· Моря (Morya). В этой таблице хранится вся информация о морях, например крупнейшее по площади море, у какой море глубочайшая точка в мире и т.д. Атрибуты - номер, название море, площадь, максимальная глубина, номер океана, ракурс.
· Море и страна (More_strana). Эта таблица предназначен чтобы указать какие страны расположены рядом с определенными морями. Атрибуты - номер море и номер страны.
· Проливы (Prolivy). Здесь хранится информация о своеобразных водный мостах между водными бассейнами. Атрибуты - номер, название пролива, длина, глубина и ширина пролива, номер океана и ракурс.
· Пролив_разделяет (Proliv_Razdelyaet). Этот сущность показывает какие части света он разделяет. Атрибуты - номер пролива, номер континента, номер острова.
· Пролив_страна (Proliv_strana). Показывает какие страны он омывает. Атрибуты - номер пролива и номер страны.
· Озера (Ozera). Озера не имеют непосредственных границ с морями и океанами , а связаны с ними, например, через реки и каналы. Всего на Земле миллионы озер, и они классифицируются по множеству различных признаков. Самые заметные различия, который описывает т эта таблица - в размерах: площадь озера, глубина, объем воды... Атрибуты - номер, название озеры, площадь, максимальная глубина, уровень море в метрах, соленость, вытекающие реки, континент в котором расположен и ракурс.
· Озера_страна (Ozera_strana). Атрибуты - номер озеры и номер страны.
· Реки (Reki). Здесь информация о том что реки откуда-то начинаются, берут свой исток - им могут быть горные ручьи, озера, другие реки. Если река сама питает другую реку, то считается ее притоком. Почти все реки сами становятся подпиткой для озер, морей, а в конечном итоге для мирового океана. Атрибуты - номер, название реки, длина, площадь, чей приток или куда впадает, номер океана, номер море и озеры, ракурс.
· Река_страна (Reka_strana). Показывает какие страны он вытекает. Атрибуты - номер реки, номер континента и номер страны.
· Водопады (Vodapady). Атрибуты - номер, название водопада, страна в котором расположен, высота, река, континент в котором расположен и ракурс.
· Континенты (Kontinenty). Тут хранится информация о крупных участок суши (земной коры). Атрибуты - номер, название континента, площадь от всей суши земли, процент и атрибут ракурс.
· Страны (Strany). Это сущность хранит всю информацию о странах. Удобно подразделять страны по континентам. Атрибуты - номер страны, название страны, столица страны, площадь, численность населения, номер континента и ракурс.
· Острова (Ostrova) - это участок суши, со всех сторон окруженный водой, будь то океан или русло реки. Однако наиболее крупные участки суши принято называть континентами . В таблице представлены острова площадью свыше 5000 км2, таковых больше сотни. Атрибуты - номер острова, название атрибута, площадь, континент в котором расположен, ракурс.
· Остров_страна (Ostrov_strana). Атрибут - номер острова и номер страны.
· Пустыни (Pustyni). Здесь хранится информация о типах пустыни (песчание, каменистые, глинистые а также комбинации этих поверностей). Какие у них бывают температуры, какие у них площади. Атрибуты - номер пустыни, название, площадь, тип, температура минимальная и максимальная, номер континента и ракурс.
· Пустыня_страна (Pustynya_strana). Атрибут - номер пустыни и номер страны.
· Горные_системы (Gornyye_systemy). Горы классифицируют и объединяют по разным признакам, выделяют островные горы, горные хребты, массивы, системы и пояса. Самое крупное объединение - горные пояса, когда все прилегающие друг к другу горные системы "склеивают". Здесь информация о горных систмах. Атрибуты - номер горы, название, площадь, длина, ширина, вершина,. номер континента, ракурс.
· Гора_страна (Gora_strana). Горные системы находятся в нескольких странах. Здесь все они перечислены. Атрибуты - номер горы и номер страны.
· Горные_вершины (Gornyye_vershiny). Атрибуты - номер вершины, название, высота, номер горы, континент и ракурс.
· Вершина_страна (Gorn_strana). Атрибуты - номер вершины и номер страны.
· Пещеры (Peshchery) - это, естественные пустоты под земной поверхностью, у которых есть выходы наружу. Атрибуты - номер, название пещеры, глубина, длина, страна и континент в котором расположен, ракурс.
· Вулканы (Vulkany) - это геологические образования, из которых из глубины планеты на поверхность выходит расплавленная магма. Здесь информация о формах вулкана, их высоты, и где они находятся. Атрибуты - номер вулкана, название, высота, форма, страна и континент в котором расположен или остров, ракурс.
2.3 Представление БД реляционной моделью
Анализируя предметную область, описанную данной информацией, выделим следующие объекты: • суша;
• вода.
На основании информации об этих объектах спроектируем реляционную базу данных.
Реляционная БД представляет собой совокупность связанных между собой таблиц (отношений). Каждая таблица обладает структурой, элементами которой являются перечень атрибутов и их типов. Для заданного перечня требований возможен следующий подход к разработке отношений.
Основными отношениями модели будет отношений вода и суша. Поскольку все таблицы, данные связаны с этими отношениями, которые связаны как один-ко-многим или же один-ко-одному.
Бизнес-правило 1
Земля состоит из воды и суши. И каждый ракурс состоит из определенной площади, какой-то процент земли. На основе Бизнес-правила 1 мы получаем сегмент ER-Модели представленный на рисунке 2.
Бизнес-правило 2
Морем называется часть мирового океана, условно обособленная сушей или подводным рельефом. Точнее, условно моря приписаны к океанам, точно так же, как страны мира приписываются к континентам. Всего на Земле пять океанов. И таблица о морях, которые омывают несколько стран. На основе Бизнес-правила 2 мы получаем сегмент ER-Модели представленный на рисунке 3.
Рисунок 2 - ER-диаграмма бизнес-правила 1
Рисунок 3 - ER-диаграмма бизнес-правила 2
Бизнес-правило 3
Проливы отделяют континенты (Европу от Азии), страны (Францию от Великобритании) и острова. Точно также и соединяют моря и океаны. Проливы протекают через несколько стран. И здесь связь "один-ко-многим" реализуется через таблицу Proliv_STRANA. На основе Бизнес-правила 3 мы получаем сегмент ER-Модели представленный на рисунке 4.
Рисунок 4 - ER-диаграмма бизнес-правила 3
Бизнес-правила 4
Озера не имеют непосредственных границ с морями и океанами , а связаны с ними, например, через реки. Всего на Земле миллионы озер, и они классифицируются по множеству различных признаков. На основе Бизнес-правила 4 мы получаем сегмент ER-Модели представленный на рисунке 5.
Рисунок 5 - ER-диаграмма бизнес-правила 4
Бизнес-правило 5
Реки откуда-то начинаются, берут свой исток - им могут быть горные ручьи, озера, другие реки. Если река сама питает другую реку, то считается ее притоком. Почти все реки сами становятся подпиткой для озер, морей, а в конечном итоге для мирового океана. На основе Бизнес-правила 5 мы получаем сегмент ER-Модели представленный на рисунке 6.
Рисунок 6 - ER-диаграмма бизнес-правила 5
Бизнес-правила 6
Рисунок 7 - ER-диаграмма бизнес-правила 6
В природе водопад это, падение воды в реке с уступа, пересекающего речное русло . В отличие от речных порогов , для водопадов характерны резкий перепад высоты речного дна и отвесность падения. На основе Бизнес-правила 6 мы получаем сегмент ER-Модели представленный на рисунке 7.
Бизнес-правила 7
Все моря, океаны, реки, озера и т.д. должны быть связаны с таблицей Вода, так как все они относятся к ракурсу вода. На основе Бизнес-правила 7 мы получаем сегмент ER-Модели представленный на рисунке 8.
Рисунок 8 - ER-диаграмма бизнес-правила 7
Бизнес-правило 8
Континент считается большим участком суши, точнее земной коры. Поэтому он должен иметь связь с таблицей Суша. На основе Бизнес-правила 8 мы получаем сегмент ER-Модели представленный на рисунке 9.
Бизнес-правило 9
Географически, удобно подразделять страны по континентам. В этом случае по численности стран лидирует Африка.. Меньше всего стран расположилось в Южной Америке. Но по разным подсчетам (с разными критериями) это может варьироваться. Таблица Страны также связывается с таблицей Суша, так как он является частью суши. На основе Бизнес-правила 9 мы получаем сегмент ER-Модели представленный на рисунке 10.
Рисунок 9 - ER-диаграмма бизнес-правила 8
Рисунок 10 - ER-диаграмма бизнес-правила 9
Бизнес-правило 10
Остров так же является участком суши (обычно естественного происхождения). От континентов острова отличаются меньшими размерами. Острова различаются в зависимости от площади, происхождению и т.д. На основе Бизнес-правила 10 мы получаем сегмент ER-Модели представленный на рисунке 11.
Рисунок 11 - ER-диаграмма бизнес-правила 10
Бизнес-правило 11
Пустыни - это обширные пространства с преимущественно ровной поверхностью, практически лишенные растительности (флоры). Они находятся в конкретном континенте и в нескольких странах. На основе Бизнес-правила 11 мы получаем сегмент ER-Модели представленный на рисунке 12.
Рисунок 12 - ER-диаграмма бизнес-правила 11
Бизнес-правило 12
Самое крупное объединение - горные пояса, когда все прилегающие друг к другу горные системы "склеивают" и могут быть расположены в нескольких странах. У гор выделяют вершины, подножия, склоны, перевалы, гребни, долины, ледники и прочие составляющие рельефа. Здесь я указала вершин гор и в каких странах они расположены. На основе Бизнес-правила 12 мы получаем сегмент ER-Модели представленный на рисунке 13.
Рисунок 13 - ER-диаграмма бизнес-правила 12
Бизнес-правило 13
Пещера - полость в верхней части земной коры, сообщающаяся с поверхностью одним или несколькими входными отверстиями. А вулканы есть на каждом континенте, в определенных странах. Они бывают похожи на высокие горы или на плоское плато, могут находиться в центре континента. На основе Бизнес-правила 13 мы получаем сегмент ER-Модели представленный на рисунке 14.
Рисунок 14 - ER-диаграмма бизнес-правила 13
Бизнес-правило 14
Таблицы острова, пустыни, горные системы и горные вершины, пещеры, вулканы должны иметь связь с таблицами суша, континент и страна, так как они часть земной поверхности и расположены в определенных континентах и странах. На основе Бизнес-правила 14 мы получаем сегмент ER-Модели представленный на рисунке 15.
Рисунок 15 - ER-диаграмма бизнес-правила 14
Когда соединили всех таблиц в базе данных посмотрим конечную схему базы данных.
Рисунок 15 - ER-диаграмма концептуальной модели учебного атласа мира
3. Проектирование информационной системы
3.1 Функции информационной системы
Одной из задач проектирование информационной системы является определение ее функций. Эта задача решается исходя из того, какой вид деятельности предполагается автоматизировать. Все функции любой информационной системы можно разбить на следующие классы: - функции редактирования данных;
- функции получения информации из информационного хранилища или поисковые функции;
- функции безопасности;
- расчетные функции;
- технологические функции;
- аналитические функции.
3.2 Архитектура информационной системы
Особенность серверов баз данных заключается в их способности выполнять специальные запросы к данным. Язык запросов устроен таким образом, что одна команда этого языка может заключать в себя множество элементарных операций над данными. Кроме того, современные серверы баз данных позволяют хранить на стороне сервера программные модули (хранимые процедуры, триггеры и др.), которые по команде со стороны пользователя (клиента) могут быть запущены на выполнение. В результате появляется реальная возможность выполнять на стороне сервера не только обработку данных, но и другие действия. На стороне пользователя теоретически может остаться только ПО, отвечающее за интерфейс пользователя. Такое построение архитектуры ИС, когда ПО делится на две части между пользовательским компьютером и сервером баз данных, называют технологией "клиент-сервер", а архитектура ИС -клиент-серверной. Клиент, в котором реализован только пользовательский интерфейс, называется тонким клиентом, в противном случае клиент называется толстым. реляционный информационный язык запрос
4. Реализация модели базы данных в среде СУБД MS SQL Server 2012
4.1 Физический уровень концептуальной схемы
Физический уровень концептуальной схемы зависит от конкретной СУБД. В физической модели содержится информация о всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, полях, индексах и т. д.
4.2 Создание таблиц базы данных на языке SQL Server 2012
При создании таблицы необходимо задать имя таблицы, имена столбцов и типы данных столбцов.
Таблицу можно создать с помощью оператора CREATE TABLE языка SQL.
По разработанной концептуальной схеме логического и физического уровней в базе данных «Учебный атлас мира» были созданы следуюие таблицы: USE kurs_LAURA
После создания таблиц базы данных была произведена ее актуализация ? заполнение. При заполнении таблиц базы данных использовалось особое подмножество языка SQL ? язык манипуляции данными (DML). Наиболее часто пришлось использовать оператор INSERT, который позволяет написать запрос на заполнение полей таблиц соответствующими значениями. Причем за счет связей при процессе правки одной из таблиц, будут автоматически изменяться данные в других таблицах.
INSERT INTO Zemlya (zemlya, Massa_zettatonna, Ploshad_mln_km2, Radius_km)
VALUES (N"Мир", 5.976, 510.2, 6371.032);
INSERT INTO Voda (rakurs, ploshad_vody_mln_km2, protsent, zemlya)
Values (N"Вода", 361.13, 70.8, N"мир");
INSERT INTO Susha (rakurss, ploshad_sushi_mln_km2, protsent, zemlya)
Values (N"Суша", 148.94, 29.2, N"мир");
INSERT INTO Okeany (Okean_ID, Okean_NAME, Ploshad_mln_km2, Obyem_mln_km3, Glubina_max_m, zemlya, rakurs)
В ходе курсовой работы была спроектирована и реализована базы данных учебный атлас мира.
В результате проектирования базы данных была построена модель процессов предметной области, осуществлено логическое и физическое проектирование базы данных, написаны запросы на выборку и манипуляцию данными на языке SQL.
Ограничение целостности и безопасности базы данных было обеспечено за счет использования представлений, хранимых процедур, триггеров, ссылочной целостности, делегирования прав и полномочий.
Список литературы
1. Хансен Г., Хансен Д. Базы данных: разработка и управление. - М.: ЗАО «Издательство БИНОМ», 1999.
2. Питер Роб, Карлос Коронел Системы баз данных: проектирование, реализация и управление, 5-е издание, - BHV Санкт-Петербург, 2004. -1040 с., 3. Кренке Д. Теория и практика построения баз данных. Изд.9 - Питер, 2005.
4. MICROSOFT SQL SERVER 2005. Реализация и обслуживание. Учебный курс Microsoft/ Пер. с английского - М. «Русская редакция», Спб.: «Питер», 2007. - 768 стр. ил.
5. Мамаев Е. MS SQL Server 2000. Проектирование и реализация баз данных. Сертификационный экзамен. - BHV, СПБ. 2004г., 416с
6. Плю Р., Стефенс Р., Райан К. Освой самостоятельно SQL за 24 часа. - М.: Издательский дом «Вильямс», 2000.
7. Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. - СПБ: ООО «ДИАСОФТ», 2002.