Проектирование и создание многопользовательских баз данных
Особенности распределенной обработки данных в информационных системах. Теоретическое обоснование и систематизация содержания обучения методам и программным средствам разработки многопользовательских БД. Лабораторный практикум по MS SQL Server 7.0.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | диссертация |
Язык | русский |
Дата добавления | 29.12.2008 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
5
Проектирование и создание многопользовательских баз данных
Диссертация на соискание степени МАГИСТРА
- СОДЕРЖАНИЕ
ВВЕДЕНИЕ
Актуальность темы исследования
В связи с широким распространением корпоративных информационных систем перед высшей школой встает задача подготовки специалистов в области баз данных распределенной обработки. Современный специалист должен иметь представление об основных проблемах, решаемых в процессе разработки современных многопользовательских систем обработки информации, таких как параллельная обработка транзакций, согласованность данных, хранящихся и обрабатывающихся в разных местах, но логически друг с другом связанных, защита данных от несанкционированного доступа, поддержка целостности данных.
Разработчик современных информационных систем должен владеть языком описания и манипулирования данными - SQL, иметь представление о технологиях обмена данными между различными СУБД, знать возможности современных серверов БД, таких как Oracle, MS SQL Server, SYSTEM, SQL Base и др., уметь разрабатывать многопользовательские системы обработки данных на базе современной архитектуры.
Проблемам разработки многопользовательских информационных систем посвящено значительное количество пособий. Ряд из них имеет методическую направленность и предназначен для подготовки к сдаче сертификационных экзаменов [5, 23]. Однако все эти пособия имеют существенные недостатки с точки зрения возможности применения их для подготовки студентов в области многопользовательских БД. К числу основных недостатков следует отнести отсутствие единой методической системы формирования необходимых знаний и умений, нарушение дидактических принципов систематичности и последовательности при изложении учебного материала. Учебные пособия предназначены для формирования теоретических знаний в области систем управления базами данных и не обеспечивают формирования практических умений разработки многопользовательских информационных систем на основе серверов баз данных.
Учебным планом подготовки студентов по специальности Н.08.01.00 Прикладная математика предусмотрен спецкурс «Сетевые БД», программа которого включает изучение следующих вопросов:
Распределённые БД и БД с распределённой обработкой данных
Трёхуровневая архитектура БД и её назначение
Модели клиент-сервер в технологии БД
Современные реляционные СУБД (персональные и многопользовательские) и их применение (Access, Delphi, Oracle, MS SQL Server, SQL Base и др.)
Проектирование и создание реляционных баз данных
Способы разработки приложений
Для подготовки этого курса необходима разработка соответствующего методического обеспечения.
Сказанное выше определяет актуальность рассматриваемой темы для практики. Очевидно, что подготовка эффективных учебно-методических материалов для формирования умений разрабатывать информационные системы на основе баз данных с распределенной обработкой является насущной задачей.
Целью исследования является разработка учебно-методического обеспечения для проведения спецкурса «Сетевые базы данных» по изучению современных программных средств разработки информационных систем распределенной обработки данных.
Объектом исследования является процесс подготовки студентов по специальности «Прикладная математика» в вузе к использованию современных информационных технологий в области СУБД.
В качестве предмета исследования выбраны содержание и методика обучения студентов в вузе способам и программным средствам разработки информационных систем распределенной обработки данных в качестве одного из средств подготовки будущего специалиста.
В нашей работе рассматривается вариант создания информационной системы распределенной обработки данных по архитектуре клиент/сервер, где в качестве сервера базы данных используется операционная система (ОС) и многопользовательская система управления базами данных (СУБД) Microsoft SQL Server.
В соответствии с поставленной целью были определены следующие основные задачи исследования:
1. Изучить особенности распределенной обработки данных в современных информационных системах.
2. Теоретически обосновать и систематизировать содержание обучения, обеспечивающее эффективное усвоение студентами основных концепций, методов проектирования баз данных и способов разработки программного обеспечения для создания корпоративных систем обработки данных.
3. Разработать учебно-методические материалы (Практикум по MS SQL Server 7.0), который способствовал бы освоению теоретических основ, методов и программных средств разработки многопользовательских БД.
Структура диссертации
Диссертация состоит из трёх глав.
В первой главе рассматриваются особенности распределенной обработки данных в современных информационных системах; преимущества архитектуры «клиент-сервер» по сравнению с другими аналогичными структурами; проектирование реляционной БД на основе инфологического моделирования методом «сущность-связь», основные принципы поддержания данных в актуальном состоянии.
Во второй главе на основе контекстно-знаковой концепции обучения определено содержание учебного материала, а также приёмы и методы, которые использовались при разработке лабораторного практикума по освоению студентами основных понятий и способов действий для эффективного владения методами проектирования и управления базами данных в СУБД MS SQL Server 7.0, необходимых в будущей профессиональной деятельности.
Основные результаты диссертационного исследования отражены в учебно-методическом пособии «СУБД MS SQL Server 7.0 (практикум)», опубликованном в издательстве УО «ВГУ им. П.М. Машерова». Пособие содержит систему лабораторных работ, последовательное выполнение которых позволит освоить основные этапы разработки информационных систем в среде СУБД MS SQL Server 7.0:
· создание инфологической и реляционной модели данных;
· создание и модификацию базы данных;
· создание и модификацию таблиц БД; создание пользовательских типов данных; создание индексов, ключей таблиц и ограничений;
· использование диаграмм для разработки структуры базы данных;
· составление запросов к БД; вставку, изменение и удаление данных таблицы;
· создание представлений, хранимых процедур и триггеров;
· администрирование базы данных и резервное копирование, методы защиты данных от несанкционированного доступа.
Третья глава содержит только некоторые лабораторные работы из этого пособия.
Новизна и практическая значимость исследования:
Выделены основные понятия, которые должны быть усвоены студентами для эффективной работы с базами данных в многопользовательских информационных системах, на основе моделирования предметного содержания будущей профессиональной деятельности определены методы обучения студентов способам создания многопользовательских баз данных. Разработаны методические материалы, обеспечивающие формирование у студентов устойчивых знаний и умений проектирования, построения и использования баз данных с распределенной обработкой в будущей профессиональной деятельности.
Разработанные материалы могут быть применены для проведения лабораторных занятий по изучению основ разработки информационных систем с использованием сервера баз данных MS SQL Server 7.0.
ГЛАВА 1. Особенности распределенной обработки данных в современных информационных системах
ИНФОРМАЦИОННАЯ СИСТЕМА И БАНК ДАННЫХ
В основе решения многих задач лежит обработка информации. Для облегчения обработки информации создаются информационные системы (ИС). В широком понимании под определение ИС подпадает любая система обработки информации. По области применения ИС можно разделить на системы, используемые в производстве, образовании, здравоохранении, науке, военном деле, социальной сфере, торговле и других отраслях. По целевой функции ИС можно условно разделить на следующие основные категории: управляющие, информационно-справочные, поддержки принятия решений.
Иногда используется более узкая трактовка понятия ИС как совокупности аппаратно-программных средств, задействованных для решения некоторой прикладной задачи. В организации, например, могут существовать информационные системы, на которых соответственно возложены следующие задачи: учет кадров и материально-технических средств, расчет с поставщиками и заказчиками, бухгалтерский учет и т. п.
Банк данных является разновидностью ИС, в которой реализованы функции централизованного хранения и накопления обрабатываемой информации, организованной в одну или несколько баз данных.
Под банком данных понимается организационно-техническая система, представляющая собой совокупность баз данных пользователей, технических и программных средств формирования и ведения этих баз и коллектива специалистов, обеспечивающих функционирование системы.
В самом общем виде основные функции банка данных можно сформулировать следующим образом: адекватное информационное отображение предметной области, обеспечение хранения, обновления и выдачи необходимых данных пользователям.
Составными частями любого банка данных являются база данных, система управления базой данных (СУБД), администратор базы данных, прикладное программное обеспечение (см. рис.1.1)
Система управления базами данных (СУБД) - совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
База данных - это совокупность хранимых в памяти ЭВМ и специальным образом организованных взаимосвязанных данных, отображающих состояние предметной области. База данных также предназначена для обеспечения информационных нужд определённых пользователей.
Прикладные программы, с помощью которых пользователи работают с базой данных, называются приложениями. В общем случае с одной базой данных могут работать множество различных приложений. Например, если база данных моделирует некоторое предприятие, то для работы с ней может быть создано приложение, которое обслуживает подсистему учета кадров, другое приложение может быть посвящено работе подсистемы расчета заработной платы сотрудников, третье приложение работает как подсистемы складского учета, четвертое приложение посвящено планированию производственного процесса. При рассмотрении приложений, работающих с одной базой данных, предполагается, что они могут работать параллельно и независимо друг от друга, и именно СУБД призвана обеспечивать работу множества приложений с единой базой данных таким образом, чтобы каждое из них выполнялось корректно, но учитывало все изменения в базе данных, вносимые другими приложениями.
Администраторы банка данных - это группа пользователей, которая на начальной стадии разработки БД отвечает за его оптимальную организацию с точки зрения возможности одновременной работы множества конечных пользователей. На стадии эксплуатации администратор отвечает за корректность работы данного банка в многопользовательском режиме. На стадии развития и реорганизации отвечает за корректную реорганизацию без изменения или прекращения его текущей эксплуатации.
Основные функции администратора:
· Анализ предметной области, выявление ограничений целостности, определение статуса информации (доступность, секретность), определение потребностей пользователей.
· Проектирование структуры БД: определение состава и структуры таблиц, выбор методов доступа к информации, описание БД на языке описания данных.
· Задание ограничений целостности при описании структуры БД и процедур обработки данных, в том числе задание декларативных ограничений целостности, присущих предметной области; определение динамических ограничений целостности в процессе изменения информации, хранящейся в БД; разработка процедур обеспечения целостности БД при вводе и корректировке данных; определение ограничений целостности при параллельной работе пользователей.
· Разработка технологии первоначальной загрузки, которая будет отличаться от процедуры модификации и дополнения данными при штатном использовании БД.
· Защита данных, включающая определение системы паролей, принципов регистрации пользователей.
· Разработка средств фиксации доступа к данным и попыток нарушения системы защиты.
· Разработка организационных средств архивирования и принципов восстановления БД.
· Работа с конечными пользователями: сбор информации об изменении предметной области, обучение пользователей, разработка необходимой методической и учебной документации по работе конечных пользователей.
В квалификационной характеристике специалиста Образовательного стандарта Высшего образования специальности Н.08.01.00 «Прикладная математика» записано: специалист предназначен главным образом для работы в научных, конструкторских и проектных организациях, на промышленных предприятиях, в государственных органах управления и других организациях различных форм собственности, использующих в своей деятельности математические методы и компьютерные технологии. А так как в современной информационной технологии системы БД занимают ведущее положение, поэтому выпускники всех специальностей, связанных с ЭВМ и программированием должны быть подготовлены к выполнению многообразных функций администратора БД.
ТРЕХУРОВНЕВАЯ АРХИТЕКТУРА БД. ЕЕ НАЗНАЧЕНИЕ
Основная цель системы управления БД заключается в том, чтобы предоставить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления данными. Следовательно, отправной точкой при проектировании БД должно быть общее описание информационных потребностей организации, которые должны найти отражение в создаваемой БД.
Кроме того, поскольку БД является общим ресурсом, то каждому пользователю может потребоваться свое, отличное от других представление о характеристиках информации, представленной в БД. Для удовлетворения этих потребностей архитектура большинства современных коммерческих СУБД в той или иной степени строится на базе трехуровневой архитектуры организации БД ANSI-SPARC, изображенная на рис.1.2:
Рис.1.2 Трехуровневая архитектура ANSI-SPARC
Цель трехуровневой архитектуры заключается в отделении пользовательского представления БД от ее физического представления.
Внешний уровень - представление данных с точки зрения пользователей. Он состоит из нескольких различных внешних представлений БД.
Каждый пользователь имеет дело с представлением “реального мира” в наиболее удобной для него форме. Внешнее представление данного пользователя содержит только те сущности, атрибуты или связи, которые ему интересны. Он может ничего не знать о других сущностях, содержащихся в базе. Кроме того, различные представления могут по-разному отображать одни и те же данные (форматы дат). Некоторые представления могут содержать производные или вычисляемые данные, которые не хранятся в БД, а создаются по мере надобности.
Например, система распределения работ использует сведения о квалификации сотрудника, но ее не интересуют сведения об окладе, домашнем адресе и телефоне сотрудника, и наоборот, именно эти сведения используются в подсистеме отдела кадров.
Концептуальный уровень - обобщающее представление БД. Описывает то, какие данные содержатся в БД, а также связи между ними. Этот уровень содержит логическую структуру БД с точки зрения администратора БД. На концептуальном уровне представлены следующие компоненты:
все сущности, их атрибуты и связи;
ограничения, накладываемые на данные;
семантическая информация о данных;
информация о мерах обеспечения безопасности и поддержки целостности данных.
Концептуальный уровень поддерживает каждое внешнее представление. Однако этот уровень не содержит никаких сведений о методах хранения данных. Например, описание сущности должно содержать сведения о типах данных, их длине или максимальном количестве символов, но не должно содержать сведений об организации хранения, например об объеме пространства, в байтах, сведения о сжатии данных и выбранных методах их шифрования.
Физический уровень - собственно данные, расположенные в файлах или в страничных структурах, расположенных на внешних носителях информации. Он содержит описание структур данных и организации отдельных файлов, используемых для хранения данных на ЗУ. На этом уровне осуществляется взаимодействие СУБД с методами доступа ОС. На внутреннем уровне хранится следующая информация:
распределение дискового пространства для хранения данных и индексов.
сведения о размещении записей.
Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.
Выделение концептуального уровня позволило разработать аппарат централизованного управления базой данных.
Так как одной из функций администратора БД является проектирование, то студенты, как будущие специалисты должны иметь представление о трёхуровневой архитектуре организации БД.
ЯЗЫКИ БД
Внутренний язык СУБД для работы с данными состоит из 2-х частей: языка определения данных DDL и языка управления данными - DML.
Язык определения данных используется для определения схемы данных, язык управления данными служит для чтения и обновления данных, хранимых в базе. Во многих СУБД предусмотрена возможность внедрения операторов подъязыка данных в программы, написанные на языках высокого уровня.
Язык DDL позволяет описывать таблицы БД и связи между ними. Результатом компиляции DDL-операторов является набор таблиц, хранимых в особых файлах, называемых системным каталогом. В системном каталоге интегрированы метаданные, т.е. данные, которые описывают объекты БД.
Язык DML содержит набор операторов для манипулирования данными:
вставки в БД данных новых сведений;
модификации сведений;
извлечение сведений, хранимых в базе;
удаления сведений из базы.
Существует две разновидности языков DML - процедурные и непроцедурные языки, - которые отличаются между собой способом извлечения данных. Основное отличие между ними заключается в том, что процедурные языки обычно обрабатывают информацию в базе данных последовательно, запись за записью, а непроцедурные оперируют сразу целыми наборами записей. Наиболее распространённым типом непроцедурного языка является язык структурированных запросов (Structured Query Language - SQL), который в настоящее время определяется специальным стандартом и фактически является обязательным языком для любых реляционных СУБД. В связи с этим знание языка SQL является неотъемлемым компонентом подготовки программиста.
АРХИТЕКТУРА ИНФОРМАЦИОННОЙ СИСТЕМЫ
Эффективность функционирования информационной системы (ИС) во многом зависит от ее архитектуры. В настоящее время перспективной является архитектура клиент-сервер. В достаточно распространенном варианте она предполагает наличие компьютерной сети и распределенной базы данных, включающей корпоративную базу данных (КБД) и персональные базы данных (ПБД). КБД размещается на компьютере-сервере, ПБД размещаются па компьютерах сотрудников подразделений, являющихся клиентами корпоративной БД.
Исторически первыми появились локальные или персональные базы данных.
Автономная база данных
Данные находятся на рабочем компьютере и доступ к ним может выполнить только один пользователь и с помощью только одного приложения. Возможен доступ к данным и для пользователя другого компьютера по сети, но только после того, как первый пользователь закончит работу своего приложения.
База данных с архитектурой файл/сервер
Современные сети обеспечивают доступ к одним и тем же файлам одновременно нескольким пользователям. Т.о. становится возможным доступ к одному файлу базы данных с помощью двух приложений баз данных. С помощью такой архитектуры возможно построение многопользовательской ИС. В таких ИС по запросам пользователей файлы базы данных передаются на персональные компьютеры (ПК), где и производится их обработка. Недостатком такого варианта архитектуры является высокая интенсивность передачи обрабатываемых данных. Причем, зачастую передаются избыточные данные: вне зависимости от того, сколько записей из базы данных требуется пользователю, файлы базы данных передаются целиком.
База данных с архитектурой клиент/сервер
Сервер базы данных обеспечивает выполнение основного объема обработки данных. Формируемые пользователем или приложением запросы поступают к серверу БД в виде инструкций языка SQL. Сервер базы данных выполняет поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинством такого подхода в сравнении с предыдущим является заметно меньший объём передаваемых данных.
Сервер БД (операционная система и собственно СУБД), представляющий собой приложение, осуществляющее комплекс действий по управлению данными - выполнение запросов клиентов, хранение и резервное копирование данных, отслеживание целостности, проверку прав пользователей, ведение журнала транзакций.
Клиенты - это различные приложения пользователей и выполняющие запросы к серверу, проверяющие допустимость данных и получающие ответы от него.
Сеть и коммуникационное ПО, осуществляющее взаимодействие между клиентом и сервером с помощью сетевых протоколов.
Для создания и управления персональными БД и приложений, работающих с ними, используются СУБД, такие как Access и Visual FoxPro фирмы Microsoft, Paradox фирмы Borland.
Корпоративная БД создаётся, поддерживается и функционирует под управлением сервера БД, например, SQL Server или Oracle Server.
Разделение общей БД на корпоративную БД и персональные БД позволяет уменьшить сложность проектирования БД по сравнению с централизованным вариантом, а значит снизить вероятность ошибок при проектировании и стоимость проектирования.
Необходимо различать распределенные БД и базы данных с распределенной обработкой. Распределённая обработка - это обработка с использованием централизованной базы данных, доступ к которой может осуществляться с различных компьютеров сети. Распределенные БД и базы данных с распределенной обработкой относятся к многопользовательским базам данных.
В связи с появлением многопользовательских баз данных перед разработчиками возникли новые задачи, которых не было при использовании БД с монопольным доступом. В частности, это задачи, связанные с организацией хранения данных, которые должны быть доступны одновременно нескольким пользователям, с распределением функций обработки данных, с параллельной обработкой транзакций - последовательности операций над БД, переводящих ее из одного непротиворечивого состояния в другое непротиворечивое состояние. Все эти задачи успешно решаются. Современные серверы БД, такие как ORACLE, MS SQL Server поддерживают возможность параллельной обработки данных, содержат средства администрирования БД с реализацией общей концепции средств защиты данных, обеспечивают создание и функционирование базы данных на основе различных моделей архитектуры клиент-сервер.
Развивается новая технология доступа к данным - Intranet. Основное отличие этой технологии от технологии клиент-сервер заключается в том, что отпадает необходимость разработки специального клиентского программного обеспечения. Для работы с удаленной БД используется стандартный браузер Интернета. При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java, Java-script, Perl и других отслеживает, все действия пользователя и транслирует их в низкоуровневые SQL-запросы к БД, выполняя, таким образом, ту работу, которую в технологии клиент-сервер выполняет клиентская программа.
РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ
Параллельный доступ нескольких пользователей к одной БД, расположенной на одном компьютере, соответствует режиму распределенного доступа к централизованной БД. Такие системы называются системами распределенной обработки данных.
Если БД распределена по нескольким компьютерам, расположенным в сети, и к ней возможен параллельный доступ, то мы имеем дело с параллельным доступом к распределенной БД. Такие системы называют системами распределенных БД.
Базы данных с распределенной обработкой имеют существенные особенности по сравнению с базами данных с монопольным доступом, такие как параллельная обработка транзакций, согласованность данных, хранящихся и обрабатывающихся в разных местах, но логически друг с другом связанных, защита данных от несанкционированного доступа, поддержка целостности данных. Поэтому будущие программисты должны иметь представление о таких понятиях, как: архитектура клиент-сервер, ограничения целостности, представления, запросы, хранимые процедуры, триггеры, параллельная обработка транзакций, безопасность данных и привилегии, каскадное обновление и удаление данных.
КЛАССИФИКАЦИЯ МОДЕЛЕЙ ДАННЫХ
В соответствии с рассмотренной ранее трехуровневой архитектурой организации БД введём понятие модели данных по отношению к каждому уровню. И действительно, физическая модель данных оперирует категориями, касающимися организации внешней памяти и структур хранения, используемых в данной операционной среде. В настоящий момент в качестве физических моделей используются различные методы размещения данных, основанные на файловых структурах: эта организация файлов прямого и последовательного доступа, индексных файлов и инвертированных файлов, файлов, использующих различные методы кэширования, взаимосвязанных файлов. Кроме того, современные СУБД широко используют страничную организацию данных. Физические модели данных, основанные на страничной организации, являются наиболее перспективными.
Рис. 1.3 Классификация моделей данных
Наибольший интерес вызывают модели данных, используемые на концептуальном уровне. По отношению к ним внешние модели называются подмоделями данных и используют те же абстрактные категории, что и концептуальные модели данных.
Кроме трех рассмотренных уровней абстракции при проектировании БД существует еще один уровень, предшествующий им. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от используемой СУБД. Эти модели называются инфологическими, или семантическими, и отражают в естественной и удобной для разработчиков и других пользователей форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и их взаимосвязей.
Инфологические модели данных используются на ранних стадиях проектирования для описания структур данных в процессе разработки приложения, а даталогические модели уже поддерживаются конкретной СУБД.
Документальные модели данных соответствуют представлению о слабоструктурированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке.
Модели, основанные на языках разметки документов, связаны прежде всего со стандартным общим языком разметки - SGML (Standart Generalised Markup Language). Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа. Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций - тегов, при помощи которых осуществляется процесс разметки.
XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML - документами. Он используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов.
Тезаурусные модели основаны на принципе организации словарей, содержит определенные языковые конструкции и принципы их взаимодействия в заданной грамматике. Эти модели эффективно используются в системах-переводчиках, особенно многоязыковых переводчиках. Принцип хранения информации в этих системах и подчиняется тезаурусным моделям.
Дескрипторные модели - самые простые из документальных моделей, они широко использовались на ранних стадиях использования документальных баз данных. В этих моделях каждому документу соответствовал дескриптор-описатель. Этот дескриптор имел жесткую структуру и описывал документ в соответствии с теми характеристиками, которые требуются для работы с документами в разрабатываемой документальной БД.
ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БД НА ОСНОВЕ ИНФОЛОГИЧЕСКОГО МОДЕЛИРОВАНИЯ МЕТОДОМ «СУЩНОСТЬ-СВЯЗЬ»
Проект реляционной базы данных - это набор взаимосвязанных отношений, в которых определены все атрибуты, заданы первичные ключи отношений и заданы ещё некоторые дополнительные свойства отношений, которые относятся к принципам поддержки целостности. При выполнении запросов мы производим объединение отношений и одни и те же значения должны в разных отношениях-таблицах обозначаться одинаково. Фактически проект базы данных - это фундамент будущего программного комплекса, который будет использоваться достаточно долго и многими пользователями.
Процесс проектирования БД представляет собой последовательность переходов от неформального словесного описания информационной структуры предметной области к формализованному описанию объектов предметной области в терминах некоторой модели. В общем случае можно выделить следующие этапы проектирования:
Системный анализ и словесное описание информационных объектов предметной области.
С точки зрения проектирования БД в рамках системного анализа, необходимо осуществить первый этап, то есть провести подробное словесное описание объектов предметной области и реальных связей, которые присутствуют между описываемыми объектами. Желательно, чтобы данное описание позволяло корректно определить все взаимосвязи между объектами предметной области.
Проектирование инфологической модели предметной области - частично нормализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах ER-модели.
Процесс проектирования длительный, он требует обсуждений с заказчиком, со специалистами в предметной области. При разработке крупных корпоративных ИС проект базы данных является тем фундаментом, на котором строится вся система в целом, и вопрос о возможном кредитовании часто решается экспертами банка на основании именно инфологического проекта БД. Следовательно, инфологическая модель должна включать такое формализованное описание предметной области, которое легко будет «читаться» не только специалистами по базам данных. И это описание должно быть настолько ёмким, чтобы можно было оценить глубину и корректность проработки проекта БД и оно не должно быть привязано к конкретной СУБД. Инфологическое проектирование прежде всего связано с попыткой представления семантики (смысла) предметной области в модели БД.
Проблема представления семантики давно интересовала разработчиков, и в семидесятых годах было предложено несколько моделей данных, названных семантическими моделями. В настоящий момент именно модель Чена «Entity Relationship», стала фактическим стандартом при инфологическом моделировании баз данных. Общепринятым стало сокращённое издание ER-модель. Кроме того, разработаны правила преобразования проекта БД из ER-модели и реляционную, при этом преобразование выполняется в даталогическую модель, соответствующую конкретной СУБД.
Основные понятия ER- модели: сущность, связь и атрибут.
С помощью сущности моделируется класс однотипных объектов. Сущность имеет имя, уникальное в пределах моделируемой системы. Так как сущность соответствует некоторому классу однотипных объектов, то предполагается, что в системе существует множество экземпляров данной сущности. Объект, которому соответствует понятие сущности, имеет свой набор атрибутов-характеристик, определяющих свойства данного представителя класса. При этом набор атрибутов должен быть таким, чтобы можно было различать конкретные экземпляры сущности. Например, у сущности Сотрудник может быть следующий набор атрибутов: Табельный номер, Фамилия, Имя, Отчество, Дата рождения, Количество детей. Набор атрибутов, однозначно индетифицирующий конкретный экземпляр сущности, называют ключевым. Для сущности Сотрудник ключевым будет атрибут Табельный номер, поскольку для всех сотрудников данного предприятия табельные номера будут различны. Экземпляром сущности Сотрудник будет описание конкретного сотрудника предприятия. Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между 2-мя сущностями или между сущностью и ею же самой (рекурсивная связь). В любой связи выделяются 2 конца, на каждом из которых указывается имя конца связи (в виде глаголов), степень конца связи (сколько элементов данной сущности связывается) и обязательность связи (то есть, любой ли элемент данной сущности должен участвовать в этой связи).
Теория нормализации применима к модели «сущность-связь». Поэтому нормализацию можно проводить и на уровне инфологической (семантической) модели.
Даталогическое или логическое проектирование БД, то есть описание БД в терминах принятой даталогической модели данных, соответствующей конкретной СУБД.
Преобразование БД из ER-модели в реляционную.
Классическая технология проектирования реляционных баз данных связана с теорией нормализации, основанной на анализе функциональных зависимостей между атрибутами отношений. Функциональные зависимости определяют устойчивые отношения между объектами и их свойствами в рассматриваемой предметной области. Процесс проектирования представляет собой процесс последовательной нормализации схем отношений, при этом каждая последующая итерация соответствует нормальной форме более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей.
Физическое проектирование БД, то есть выбор эффективного размещения БД на внешних носителях для обеспечения наиболее эффективной работы приложения
Физические модели баз данных определяют способы размещения данных в среде хранения и способы доступа к этим данным, которые поддерживаются на физическом уровне. Исторически первыми системами хранения и доступа были файловые структуры и системы управления файлами (СУФ), которые фактически являлись частью ОС. СУБД создавала над этими файловыми моделями свою надстройку, которая позволяла организовать свою совокупность файлов т.о., чтобы она работала как единое целое и получала централизованное управление от СУБД. Однако непосредственный доступ осуществлялся на уровне файловых команд, которые СУБД использовала при манипулировании всеми файлами, составляющими хранимые данные одной или нескольких баз данных. С ростом объёмов хранимых данных произошёл переход от базовых файловых структур к непосредственному управлению размещением данных на внешних носителях самой СУБД.
Студенты специальности «Прикладная математика» как будущие программисты должны уметь проектировать реляционные БД на основе инфологического моделирования методом «сущность-связь».
ГЛАВА 2. Теоретическое обоснование и систематизация содержания обучения теоретическим основам, методам и программным средствам разработки многопользовательских БД
Cодержание обучения способам и программным средствам разработки информационных систем распределенной обработки данных в системе подготовки студентов по специальности «Прикладная математика» в вузе будем рассматривать в единстве с целями, методами, организационными формами и средствами обучения [16]. В связи с этим, прежде всего необходимо:
1) выявить конкретные цели обучения;
2) определить то содержание обучения, на котором можно достичь реализации поставленных целей;
3) исходя из целей и содержания, отобрать наиболее оптимальные методы, формы и средства раскрытия этого содержания.
При решении первой поставленной задачи будем использовать общую структуру построения целей обучения, принятую в дидактике: общие цели высшего образования и конкретные цели обучения (цели конкретного учебного предмета, конкретных разделов и тем).
При формулировке требований к содержанию и организации обучения мы опираемся на фундаментальные принципы дидактики: принцип научности, последовательности и цикличности, сознательности, активности, наглядности, связи теории с практикой, соединение индивидуального подхода к обучению с коллективными формами работы [19].
Эффективная подготовка будущих специалистов в области программирования предполагает развитие творческих способностей студентов на основе их самостоятельной работы, активных форм и методов обучения. Активное обучение включает в себя новые формы, методы и средства обучения: проблемные лекции, семинары-дискуссии, деловые игры. Активное обучение предусматривает также разнообразные формы работы студентов в компьютерном классе: лабораторная работа, практикум (или учебно-исследовательская практика).
В этой связи особенно актуальными представляются идеи психолого-педагогической концепции контекстного обучения, как теоретической основы активного обучения. Это обучение, в котором с помощью всей системы дидактических форм, методов и средств моделируется предметное и социальное содержание будущей профессиональной деятельности специалиста. Усвоение обучаемым абстрактных знаний, как знаковых систем, наложенное на канву этой деятельности, называют знаково-контекстным или контекстным обучением [4]. Концепция контекстного обучения лежит в русле деятельностной теории усвоения социального опыта, разработанной в отечественной психолого-педагогической науке (Л.С. Выготский, П.Я. Гальперин, В.В. Давыдов, А.Н. Леонтьев, С.Л. Рубинштейн, Н.Ф. Талызина и другие авторы). В соответствии с деятельностным подходом усвоение содержания исторического опыта людей осуществляется не путём передачи информации о нём человеку, а в процессе его собственной активности, направленной на предметы и явления окружающего мира, которые созданы развитием человеческой культуры. Суть этого подхода сформулировал психолог А.Н. Леонтьев [12], который выдвинул положение о психической деятельности, как о результате перенесения во внутренний план её внешних форм (механизм интериоризации). Этот механизм интериоризации подробно разработан в теории поэтапного формирования умственных действий в трудах учёных школы П.Я. Гальперина. Вышеназванная теория успешно применяется на различных уровнях образования.
Реализация деятельностного подхода к усвоению знаний не представляет принципиальных трудностей в тех случаях, когда речь идёт об относительно простых фрагментах социального опыта, понятий об окружающем мире. В случае же овладения сложной, целостной профессиональной деятельностью мы сталкиваемся с тем противоречием, что формы организации учебно-познавательной деятельности не адекватны формам профессиональной деятельности. Данное противоречие стало одним из аргументов в пользу психолого-педагогической концепции контекстного обучения [4].
Согласно концепции контекстного обучения, информация для получения статуса знания, с самого начала должна «примериваться» к действию, усваиваться в его контексте (т.е. в контексте потребностей будущей профессиональной деятельности).
Важнейший психологический фактор - один из тех, на который опирается концепция контекстного обучения, - заключается в том, что усвоенные в обучении знания, а также умения и навыки выступают в профессиональной деятельности уже не в качестве того предмета, на который направлена активность студента, а в качестве средства решения задач деятельности специалиста, имеющей принципиально иной предмет, - например, вещество природы для инженера или сознание ученика, его личность для педагога [4].
Знания усваиваются не ради самого усвоения или успешной сдачи экзамена, они употребляются в функции средства регуляции выполняемой учебной, квазипрофессиональной или учебно-профессиональной деятельности. В этом состоит личностный смысл усвоения знаний, обусловливающих комплекс мотивов и интересов обучающегося.
Н.Ф. Талызина считает, что при организации усвоения любых знаний нужно заранее планировать деятельность, в которую они должны войти и которая обеспечивает достижение целей. Иными словами «при построении содержания обучения необходимо предусмотреть все основные виды деятельности, необходимые для работы с данными знаниями, для решения задач, предусмотренных целью обучения» [25].
А.А. Вербицкий [4] выделяет три вида деятельности студентов при обучении их в контексте будущей профессиональной деятельности. К ним относятся:
1) учебная деятельность академического типа (собственно-учебная деятельность) с ведущей ролью лекции и семинара;
2) квазипрофессиональная деятельность студентов (воспроизведение в аудиторных условиях условий и процессов, схожих с будущей профессиональной деятельностью);
3) учебно-профессиональная деятельность (в нашем случае - вычислительная и учебно-исследовательская практика (практикум) по проектированию и разработке распределённой базы данных и её использованию в сети).
В своём системном качестве всё это составляет суть концепции контекстного обучения. Данная концепция позволяет преодолеть противоречие, которое заключается в том, что формы организации учебно-познавательной деятельности студентов не адекватны формам профессиональной деятельности специалистов, в то время как, согласно деятельностной теории усвоения, они должны быть адекватны, если ставится цель овладения деятельностью [12].
Рассматривая содержание обучения методам проектирования баз данных и способам разработки программного обеспечения для создания корпоративных систем обработки данных, мы исходим из того, что содержание обучения не сводится к триаде - знания, умения, навыки, а непременно включает в себя опыт творческой деятельности и опыт эмоционально-ценностного отношения к действительности [26].
Необходимо отметить особую важность (что и было экспериментально проверено на практических занятиях) опыта собственной, самостоятельной творческой деятельности студентов по созданию реальных, пусть на модельном уровне, ИС на основе БД в среде конкретной СУБД. Компьютер воспринимается студентом специальности «Прикладная математика» особо: это средство получения информации и его орудие производства в будущей профессиональной деятельности. Отсюда видны истоки возможного формирования у будущего специалиста эмоционально-ценностного отношения к компьютеру. Опыт эмоционально-ценностного отношения возникает и передаётся в процессе общения студентов друг с другом, с преподавателем. Установлено, что почти у всех студентов на лабораторных занятиях возникает потребность обсудить друг с другом ход выполняемых за компьютером действий, затруднения, возникающие в процессе обучения. Потребность в общении обусловлена, как необходимостью разрешить проблемы, так и стремлением утвердиться в учебном коллективе группы.
На основании современных теоретических представлений, сложившихся в педагогической науке, выделяют три уровня формирования содержания образования, представляющих собой определённую иерархию в проектировании самого содержания [26]:
1) уровень общего теоретического представления;
2) уровень учебного предмета (фиксируется в учебных планах, программах);
3) уровень учебного материала (приобретает форму учебников и других материалов).
Как подчёркивается в работе [17], когда речь идёт о содержании образования, необходимо систематически учитывать его двойственную природу. Действительно, с одной стороны, это социальный опыт, опредмеченный в определённой знаковой форме программы, учебника, а с другой - деятельность обучающегося с этим формализованным опытом, организованная с помощью деятельности преподавателя.
В соответствии с принципом единства содержательной и процессуальной сторон обучения при проектировании учебного содержания предмета или учебного материала, нужно обозначить в них не только содержание само по себе, но также и способы передачи их обучающимся и усвоения ими содержания [9].
При этом учебный предмет (в нашем случае спецкурс «Сетевые базы данных») должен был проектироваться не просто как знаковая система плюс деятельность по её усвоению, а как предмет деятельности студента. Тогда усвоение знаний с самого начала будет осуществляться в контексте этой деятельности, где знания будут выполнять функции ориентировочной основы деятельности, средство её регуляции, а формы организации учебной работы студентов - функции форм воссоздания усваиваемого содержания [4].
Таким образом, получаемой учебной информации на занятиях в вузе должно быть достаточно, чтобы студенты могли самостоятельно разрабатывать различные ИС в среде конкретной СУБД.
Исходя из целей и содержания обучения проектированию и созданию многопользовательских баз данных, были выбраны адекватные методы, формы и средства раскрытия содержания. При этом комплексное использование различных форм, методов и средств активного обучения возможно только в органическом сочетании с традиционными компонентами учебного процесса. Среди методов обучения способам и программным средствам разработки информационных систем распределенной обработки данных выделим методы проблемного обучения и самостоятельной работы студентов.
Роль проблемного обучения в вузе обсуждалась многими исследователями[14], [17], [19] и др. Проблемное обучение отличает организация обучения путём самостоятельного добывания знаний в процессе решения учебных проблем, развитие творческого мышления и познавательной активности учащихся [20]. Известно, что учебный материал становится знанием студента только посредством его мышления. Естественно, напрашивается вывод о необходимости активизации мыслительного процесса студентов. Предлагаемый проблемным обучением арсенал средств (система проблемных вопросов и заданий различной трудности и т. д.) способствует активизации познавательной деятельности студентов. Л.В. Путляева [21] отмечает также большой воспитательный эффект, получаемый в результате проблемного обучения в вузе. Имеется в виду тот факт, что познавательная потребность, пробуждаемая преподавателем у студента проблемными ситуациями, превращается в стойкий познавательный интерес, а затем в черту личности, которая распространяется на все области жизнедеятельности человека.
В обучении проектированию и созданию многопользовательских баз данных методы проблемного обучения имеют первостепенное значение. Например, в разрабатываемом нами учебно-методическом обеспечении курса «Сетевые базы данных» студентам были предложены индивидуальные задания по разработке и проектированию ИС для различных сфер деятельности (библиотека, книжное издательство, поликлиника, и т. д.). В заданиях было дано словесное описание предметной области, сформулированы требования и поставлены задачи различного уровня сложности, которые должны выполняться и решаться в системе. Студентам надо было выполнить системный анализ и выделить объекты предметной области, построить инфологическую модель ИС, с учётом ограничений на информацию и реализуемых в системе задач, преобразовать её в реляционную модель, создать запросы, представления, хранимые процедуры и триггеры.
Результаты практической работы показали, что применение метода проблемного обучения повышает интерес к учебному процессу и способствует формированию прочных знаний, умений и навыков по изучаемому предмету, курсу.
Деятельностный подход к обучению предполагает развитие таких качеств личности, как активность, самостоятельность, ответственность, самоорганизация [8]. Формируясь на занятиях и во внеаудиторной работе, эти качества могут постепенно превратиться в устойчивые качества личности. Поэтому, важное место в процессе обучения проектированию и созданию баз данных отводится самостоятельной работе студентов, как аудиторной, так и внеаудиторной.
Аудиторные лабораторно-практические занятия, организованные как самостоятельная работа студентов являются способом получения знаний в форме соединения теории с практикой, получения ими опыта практической работы с теоретическим материалом, введённым и первоначально усвоенном на лекции. Студенты применяют лекционный материал, но уже как средством решения практических задач. Теория усваивается в контексте практического действия, и, наоборот, практические действия имеют своей ориентировочной основой теорию [4].
Например, в курсе «Сетевые БД», на лекции вводились основные понятия и методы проектирования распределённых баз данных. Усвоение знаний происходило через восприятие, осознание и запоминание. На практическом занятии студентам была предложена модель ИС, на примере которой они практически должны были пройти все этапы проектирования и создания базы данных данной информационной системы. Таким образом, возникла необходимость применения введённых на лекции понятий, методов и правил к «живой» базе данных. В данном случае, был применён традиционный метод обучения «Делай, как я!» с переходом к установке «Делай сам!», т.е. опыт осуществления способов деятельности отчасти передаётся путём инструктажа и показа образца деятельности через серию упражнений. Дидактическая функция этого метода - усвоение сведений и стандартных способов действия.
Внеаудиторная самостоятельная работа по применению современных методов и программных средств разработки информационных систем распределенной обработки данных требует развитого методического обеспечения. Она является естественным продолжением аудиторных занятий, проводимых преподавателем, но только в том случае, если обучаемый получает необходимые для этого средства работы как с теоретическим, так и с практическим материалом, а также достаточное количество времени для самостоятельной работы за персональным компьютером.
В дидактике формы организации обучения (организационные формы) классифицируются по следующим признакам: число участников совместной деятельности и роли участников учебного процесса. По первому признаку выделяют массовые, коллективные, групповые, микрогрупповые и индивидуальные формы обучения [20]. Каждая форма организации деятельности студентов должна быть адекватной содержанию, планируемому в каждом данном фрагменте учебного процесса [4].
Групповые формы работы позволяют строить обучение в контексте будущей профессиональной деятельности и способствуют интенсификации обучения понятиям и методам разработки многопользовательских БД. К основным групповым формам обучения в компьютерном классе относятся фронтальная лабораторная работа и индивидуальный практикум (или учебно-исследовательская практика).
Подобные документы
Основные конструкции структурированного языка запросов SQL. Изучение среды MS SQL Server Management Studio, проверка подлинности. Создание таблиц базы данных. Таблица specialit, сourse, group, discipline, account. Проектирование структур данных.
лабораторная работа [963,2 K], добавлен 14.01.2016Разбиение данных по таблицам и создание связей между таблицами. Нормализация и проектирование сценария работы базы данных. Выбор программного обеспечения. Требования к аппаратным и программным средствам для работы созданного программного продукта.
курсовая работа [30,2 K], добавлен 23.01.2011Этапы создания и разработки базы данных. Построение модели предметной области. Разработка даталогической и физической моделей данных, способы обработки данных о сотрудниках организации. Проектирование приложений пользователя. Создание кнопочной формы.
курсовая работа [2,1 M], добавлен 14.02.2011Понятие, модели и назначение информационных систем. Функциональное моделирование ИС. Диаграмма потоков данных. Декомпозиция процессов и миниспецификации. Реализация макета системы средствами MS SQL Server 2005. Создание базы данных. Скалярные функции.
курсовая работа [1,0 M], добавлен 16.09.2012Установка "Microsoft SQL SERVER 2012". Создание файла данных, журнала транзакций, таблиц, запросов и фильтров, диаграмм и триггеров, табличных форм и отчетов. Подключение файла данных к проекту. Создание простых и сложных ленточных форм для работы с ними.
курсовая работа [1,9 M], добавлен 13.12.2013Проектирование базы данных фирмы по предоставлению телекоммуникационных услуг с помощью СУБД MS SQL SERVER. Построение логической и физической модели данных. Описание информационных потребностей пользователя. Создание хранимых процедур и триггеров.
курсовая работа [2,3 M], добавлен 21.03.2015Цель инфологического моделирования базы данных. Создание с помощью СУБД Microsoft SQL Server шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц и связей между ними. Создание процедур и запросов.
курсовая работа [721,4 K], добавлен 29.11.2009Анализ предметной области, концептуальных требований и информационных потребностей к разрабатываемой базе данных студентов. Выбор информационных объектов и проектирование информационной структуры. Создание таблиц, отчетов, запросов на выборку и форм.
курсовая работа [69,4 K], добавлен 18.11.2010Основные сведения об SQL Server. Логическая структура реляционной базы данных. Создание базы данных Server. Обработка элементов оператора SELECT. Структура таблиц inserted и deleted. Ввод данных в таблицу "Клиенты". Краткая справка по языку запросов SQL.
курсовая работа [2,9 M], добавлен 11.05.2012Особенности и классификация обучающих программных средств обучения. Обзор методов обработки экспертной информации. Требования к программному комплексу лабораторных работ. Построение логической модели данных. Описание компьютерной реализации для студента.
дипломная работа [2,0 M], добавлен 19.01.2017