Реферат по предмету "Программирование, Базы данных"


Создание клиентских частей SQL БД под ОС Windows'95 и WindowsNT

Аннотация
Настоящаяработа посвящена переносу базы данных на новую технологию с созданиемклиентских частей под современные операционные системы Windows’95и Windows NT дляSQL базы данных. В пояснительной записке рассматриваются отличительныеособенности технологии «клиент-сервер», по сравнению с технологией предыдущегопоколения «файл-сервер». Производится описание процесса разработки клиентскихчастей под операционные системы Windows’95 и WindowsNTдля SQL базыданных.Описываются процесс разработки интерфейса пользователя под 32-разрядныеоперационные системы Windows’95 и WindowsNT Workstation.Разрабатывается алгоритм переноса данных из старой базы данных в новую систему.Так же представлены результаты отладки и работы разработанной программы.
СОДЕРЖАНИЕ
Введение … 3
1.     Теоретическая часть
1.1.                                                                                                                                                                                                                                                      Обзор СУБД  5
1.1.1. Sybase System 11 … 8
1.1.2. IBM DB2 … 17
1.1.3. RDMS Oracle … 25
1.1.4. Microsoft SQL Server 6.5 … 36
1.2.                                                                                                                                                                                                                                                      Исследование предметной области … 49
2.    Практическая часть … 62
2.1.                                                                                                                                                                                                                                                      Анализ существующей программы … 62
2.2.                                                                                                                                                                                                                                                      Выбор платформы и программных средств … 64
2.3.                                                                                                                                                                                                                                                      Разработка структуры новой БД … 78
2.4.                                                                                                                                                                                                                                                      Перенос данных в новую базу данных … 80
2.5.                                                                                                                                                                                                                                                      Разработка программы … 83
3.     Отладка … 88
Заключение … 92
Литература … 93
Приложение А. Описание Базыданных.
Приложение В. Листинготлаженных программ.
ВВЕДЕНИЕ
Длябольшинства средних и мелких российских предприятий информационные решения сиспользованием сетей персональных компьютеров являются фактическим стандартом.В тоже время, прикладное программное обеспечение, используемое этимипредприятиями (такое как автоматизированные системыдокументооборота, системыуправления промышленными и торговыми предприятиями, бухгалтерские системы идр.), создано при помощи инструментария предыдущего поколения, и не способноэффективно использовать ресурсы, предоставляемые новыми технологиями. Ксовременным информационным системам уровня предприятия предъявляются оченьвысокие требования производительности, надежности, обеспечения целостности ибезопасности данных (особенно при сегодняшнем развитии Internet), защиты от системных иаппаратных сбоев, масштабируемости, возможности взаимодействия с другимисистемами, работы в гетерогенных распределенных вычислительных сетях.
Втечение последнего времени большое распространение получила новая технологияпостроения баз данных – технология «клиент-сервер». Эта технология дает ряд неоспоримыхпреимуществ, по сравнению с технологией предыдущего поколения – технологией«файл-сервер». В частности, она предоставляет большие возможности по защитеданных от несанкционированного доступа и разграничение прав доступа на уровнеотдельных записей и полей, дает возможность работы с большими мультимедийными инестандартными данными. Также новая технология позволяет работать как влокальных сетях, так и в глобальных и Internet,и многое другое. Системы,построенные на новой технологии «клиент-сервер», отличаются высокой степеньюбезопасности, территориально независимости и не требовательности к аппаратноймощности клиентских станций.
В настоящее время, в области баз данных и проектировании систем, сиспользованием новой технологии «клиент-сервер», ведутся работы в разныхнаправлениях. Во-первых, продолжают вестись работы по усовершенствованиютехнологии и уменьшению требований к аппаратному и программному обеспечению, содновременным увеличением производительности. Во-вторых, ведутся работы в направлениипереноса всех программ, использующих технологию предыдущего поколения«файл-сервер», на новую и более современную технологию «клиент-сервер».
Весьмаактуальным является проблема переноса бухгалтерских программ, рассчитанных намалые и средние предприятия и фирмы, на новую технологию. Это обусловлено тем,что область данных программ осталась почти не тронутая новой технологией. Ктому же, все больше пользователей переводят свои персональные компьютеры подуправление 32-разрядными операционными системами. 32-разрядные операционныесистемы клиентов, такие как Windows’95и WindowsNT Workstation,используют удобный в работе графический пользовательский интерфейс ипредоставляют все необходимое для эффективной работы в распределенной среде.
1.1 Обзор СУБД
Несмотря на то, что технологии баз данных становятся всеболее распространенными в практике, многие разработчики прикладных систем,администраторы баз данных и конечные пользователи недостаточно хорошо понимают,что такое современные базы данных и системы управления базами данных (СУБД).Сказывается отсутствие или поверхностный уровень соответствующих курсов ввысших учебных заведениях, практическое отсутствие литературы на русском языкеи, наконец, привлечение к деятельности, связанной с использованием баз данных,специалистов, которые ранее работали в других областях. Обучение, проводимоекоммерческими компаниями, обычно ориентируется на конкретные программныепродукты и не может компенсировать отсутствие базовой подготовки.
Во всей истории вычислительной техники можно проследить двеосновных области ее использования. Первая область — применение вычислительнойтехники для выполнения численных расчетов, которые слишком долго или вообщеневозможно производить вручную. Развитие этой области способствовало интенсификацииметодов численного решения сложных математических задач, развитию класса языковпрограммирования, ориентированных на удобную запись численных алгоритмов,становлению обратной связи с разработчиками новых архитектур ЭВМ.
Вторая область — это использование средств вычислительнойтехники в автоматических или автоматизированных информационных системах. Всамом широком смысле информационная система представляет собойпрограммно-аппаратный комплекс, функции которого состоят в надежном храненииинформации в памяти компьютера, выполнении специфических для данного приложенияпреобразований информации и/или вычислений, предоставлении пользователямудобного и легко осваиваемого интерфейса. Обычно такие системы имеют дело сбольшими объемами информации, и эта информация имеет достаточно сложнуюструктуру.
Вторая область использования вычислительной техники возникланесколько позже первой. Это связано с тем, что на заре вычислительной техникивозможности компьютеров по хранению информации были очень ограниченными.
Но поскольку в информационных системах требуется поддержкасложных структур данных, эти индивидуальные средства управления даннымисоставляли существенную часть информационных систем, практически повторяясь(как программные компоненты) от одной системы к другой. Стремление выделитьобщую часть информационных систем, ответственную за управление сложноструктурированными данными явилось первой побудительной причиной создания СУБД,которая, возможно, могла бы представлять некоторую общую библиотеку программ,доступную каждой информационной системе.
Однако очень скоро стало понятно, что невозможно обойтисьтакой общей библиотекой программ, реализующей над стандартной базовой файловойсистемой более сложные методы хранения данными.
Вообще, согласованность данных является ключевым понятиембаз данных. На самом деле, если информационная система поддерживаетсогласованное хранение информации в нескольких файлах, можно говорить о том,что она поддерживает базу данных. Если же некоторая вспомогательная системауправления данными позволяет работать с несколькими файлами, обеспечивая ихсогласованность, можно назвать ее системой управления базами данных. Уже толькотребование поддержания согласованности данных в нескольких файлах не позволяетобойтись библиотекой функций: такая система должна обладать некоторымисобственными данными (мета-данными) и даже знаниями, определяющими целостностьданных.
Прежде чем приступить к конкретному обзору Систем УправленияБазами Данных (СУБД), необходимо дать ряд определений терминам, использующимсядля описания СУБД.
Данные – этоинформация, зафиксированная в определенной (структурированной) форме, пригоднойдля последующей обработки, хранения и передачи. К данным необходим «прозрачный»доступ сразу нескольких пользователей, т.е. любой пользователь должен иметьвозможность получать необходимую ему информацию, модернизировать ее, заноситьновую и удалять старую, причем конечный пользователь может обо всех этихоперациях и не знать. Банк Данных (БнД)– это информационная система, включающая в себя информационные, математические(алгоритмические), программные, языковые, организационные и техническиесредства (аппаратная платформа и операционная система) обеспечивающие всовокупности централизованную поддержку и коллективное использование данныхпользователем БнД. Языковые средства – языки, с помощью которых описываетсяструктура данных (DDL) иязыки манипулирование данными(DML ­– SQL). База Данных (БД)– это структурированная определенным образом совокупность данных, относящихся кконкретной задаче. БД может быть как локальная, так и распределенная. Система Управления Базами Данных (СУБД)представляет собой комплекс инструментальных средств (программных и языковых)реализующих централизованное управление БД и обеспечивающих доступ к данным(изменения, добавления, удаления, резервного копирования и т.д.). СУБД должнаобеспечивать поиск, модификацию и сохранность данных, а также оперативныйдоступ (время отклика), защиту целостности данных от аппаратных сбоев ипрограммных ошибок, разграничение прав и защита от несанкционированногодоступа, поддержка совместной работы нескольких пользователей с данными.
При работе с СУБД можно выделить несколько уровнейпредставления данных:
-       Внешнийуровень (уровень конечного пользователя). В некотором смысле это самыйглавный уровень. Именно с ним работает конечный пользователь или конечнаяпрограмма. Пользователь воспринимает данные как совокупность некоторыхвзаимосвязанных полей в удобном виде, позволяющих ему решать свою задачу.
-       Концептуальныйуровень (уровень программиста и администратора) – это обобщенноепредставление обо всех данных, хранящихся в базе или совокупность внешнихпредставлений. На этом уровне работают программист, создающий прикладныепрограммы, и администратор, разрабатывающий структуру (схему) базы данных.Администратору доступна вся схема, вся информация, а конкретному программисту — только ее часть, ограниченная его привилегиями.
-       Физическийуровень (уровень реализации). На физическом уровне определяются способыхранения данных с учетом подробностей (вплоть до физического адреса) и доступак ним. Сервер СУБД реализует именноэтот уровень.
По логическому представлению структуры данных СУБДделятся на несколько типов: реляционные, сетевые и иерархические. Главнаяхарактеристика, определяющая тип – это используемое представление данных.
Основной структуройв иерархических моделяхданных является «дерево». Особенности такого представления в наличии корня– единственной точки входа в дерево, и что каждый порожденный узел имеет толькоодного родителя. Недостатком этой системы является высокая избыточность. Одназапись БД – это совокупность деревьев. Через эту структуру нельзя построитьотношение N:N (многиеко многим).
Основной структуройв сетевых моделях данныхявляется «сеть». При таком представлении существует несколько входов в сеть –неоднозначность доступа к данным. Особенности такого представления: один илинесколько узлов могут иметь больше одного родителя; время доступа изменяется взависимости от исходного входа. Время доступа в сетевой структуре может бытьбольше, чем в иерархической структуре.
Недостатком обеих этих структур является то, что придобавлении новых вершин или установлении новых связей возникают проблемывыгрузки данных из базы, перегенерации полностью структуры, загрузка данныхобратно в базу. При этом возникает вероятность потерять данные при обратнойзагрузке.
В основе структуры данных реляционной модели лежит мощныйаппарат реляционной алгебры, реляционного исчисления и теории нормализации.При проектировании реляционной моделиБД используется понятияER-модели:сущность – объект, атрибут – свойства и связь. Связи бывают нескольких типов: 1:1, 1:N (N:1), N:N. Уреляционной модели есть ряд ограничений: невозможность существования двуходинаковых записей; задание типа столбца, области значений атрибута.Достоинство реляционных СУБД, обеспечившее высокую популярность, заключается вне функциональности языка запросов. Это означает, что формулируете запрос нето, как надо найти данные, а что надо найти.
Сегодня основы современной информационной технологиисоставляют базы данных (БД) и системы управления базами данных (СУБД), ролькоторых как единого средства хранения, обработки и доступа к большим объемаминформации постоянно возрастает. При этом существенным является постоянноеповышение объемов информации, хранимой в БД, что влечет за собой требованиеувеличения производительности таких систем. Резко возрастает также вразнообразных применениях спрос на интеллектуальный доступ к информации. Этоособенно проявляется при организации логической обработки информации в системахбаз знаний, на основе которых создаются современные экспертные системы.Быстрое развитие потребностейприменений БД выдвигает новые требования к СУБД:поддержка широкого спектра типов представляемых данных иопераций над ними (включая фактографические, документальные,картинно-графические данные);естественныеи эффективные представления в БД разнообразных отношений между объектамипредметных областей (например, пространственно-временных с обеспечением визуализацииданных);поддержканепротиворечивости данных и реализация дедуктивных БД;обеспечение целостности БД в широком диапазоне разнообразныхпредметных областей и операционных обстановок;управление распределенными БД, интеграция неоднородных баз данных;существенное повышение надежностифункционирования БД.
На российском рынке наиболее популярны СУБДProgress (Progress software), Oracle RDBMS v7 (Oracle),Microsoft SQL Server v6.5 (Microsoft), DB2 (IBM), Sybase System 11 (Sybase). 1.1.1 Sybase System 11
Фирма Sybase — один из ведущих производителей промышленныхСУБД, средств разработки приложений и других продуктов, реализующих технологиюклиент-сервер. В конце 1995 года фирма выпустила Sybase System 11. СейчасSybase System 11 выпущена для Intel и основных UNIX-платформ. НаIntel-платфорах работает СУБД для рабочих групп Sybase SQL Anywhere 5.0 — новаяверсия СУБД Watcom SQL, которая теперь имеет режим совместимости с Sybase SQLServer на уровне языка и интерфейсов.
Серверные продукты Sybase System 11 обладают архитектурой,построенной на основе продуктов и библиотек Sybase Open Client/Server. Средиосновных серверных продуктов Sybase System 11:
-  
-  
-  
-  
-  
-  
Вспомогательные серверные продукты Sybase System 11включают:
-  
-  
-  
-  
К инструментальным средствам фирмы Sybase относятся средствобыстрой разработки приложений PowerBuilder и CASE-система S-Designor,выпускаемые подразделением Powersoft. Эти средства работают со всеми основнымиСУБД.
Создание Sybase SQL Server 11 основывается на опыте работыпредыдущих версий и содержит ряд новых возможностей:
-       
×     
×     
×     
-       
×     
×     
×     
×     
×     
-       
×     
×     
×     
-       
×         
×     
×     
Рассмотрим основные характеристики Sybase SQL Server.
Работа SQL Server с кэшами в памяти. Запись в журнализ кэша теперь происходит пакетами. Это снижает уровень конкуренции за доступ кресурсу журнала и, соответственно, повышает производительность. Системныйадминистратор может разделить кэш SQL Server на несколько именованных областейи приписать эти области различным базам данных и объектам баз данных. Имеетсявозможность группировать именованные области кэша так, чтобы более эффективнопроходил обмен с диском большими блоками. Связывание именованных кэшей иобъектов баз данных осуществляется при помощи вызова системных процедур.
При создании таблицы или индекса можно указать максимальноечисло строк, хранимых на странице данных или странице индекса. Эта возможностьпозволяет оптимизировать блокировки для часто обновляемых таблиц. SQL Serverиспользует установленное значение при добавлении и удалении строк.
Проверка взаимных блокировок. SQL Server используеталгоритм выявления взаимных блокировок транзакций. Имеется возможностьсконфигурировать то время, через которое выполняется такая проверка. Цельконфигурирования этого параметра — повышение производительности. Проверкавзаимоблокировок — это достаточно длительная операция для сервера. Так какпроверка запускается не сразу, выше вероятность освобождения ресурса к моментузапуска проверки. С другой стороны, излишнее увеличение времени задержки можетпривести к увеличенному времени реакции для приложения, выдавшеговзаимоблокирующий запрос.
Несколько процессов, работающих с сетевыми соединениями.В предыдущей версии Sybase System 10 сетевым обменом занимался только одинпроцессор в SMP-архитектуре. Это ограничивало масштабируемость сервера насимметричной мультипроцессорной архитектуре, так как было «узкимместом» при увеличении числа процессоров. В версии Sybase System 11сетевым обменом могут заниматься все процессоры.
Протокольные службы. Библиотеки Sybase обеспечиваютработу серверных и клиентских компонент со множеством сетевых протоколов отразных производителей, в том числе TCP/IP, SPX/IPX, Named Pipes, DECNet идругие.
Архитектура Sybase позволяет как приложению-клиенту, так исерверу одновременно работать с несколькими интерфейсами. Например, SQL Serverдля Novell NetWare или Windows NT может одновременно допускать соединения черезSPX и TCP/IP.
Управление транзакциями. Архитектура Sybase System 11поддерживает как синхронную, так и асинхронную модель управления транзакциями.Модель выбирается в соответствии с требованиями предметной области.
Централизованное хранение данных и доступ к центральной БД вусловиях географически распределенной системы приводят к необходимостиустановления соединений между центральным сервером, хранящим данные, икомпьютерами-клиентами. Большинство компьютеров-клиентов отделены отцентрального сервера медленными и недостаточно надежными линиями связи, поэтомуработа в режиме удаленного клиента становится почти невозможной. Обмен даннымина практике часто реализуется регламентной передачей файлов, либо черезмодемное соединение, либо «с курьером».То, что данные доставляются к месту назначения не системнымисредствами, а путем экспорта/импорта файлов, приводит к необходимости участиячеловека в процессе обмена, что влечет за собой неоперативность поступленияданных и необходимость реализации внешних механизмов контроля целостности инепротиворечивости. Результатом является высокая вероятность ошибок. Крометого, реализация всех алгоритмов обмена данными и контроля в этом случаевозлагается на прикладных программистов, проектирующих АРМ. Объем работ попрограммированию и отладке подпрограмм обмена соответствует числу различныхАРМ. Это также приводит к повышению вероятности ошибок в системе.
В современной технологии АРМ объединены в локальную сеть.АРМ-клиент выдает запросы на выборку и обновление данных, а СУБД исполняет их.Запросы клиента в соответствии с требованиями задачи сгруппированы втранзакции. Если все операции с базой данных, содержащиеся внутри транзакции,выполнены успешно, транзакция в целом выполняется успешно (фиксируется). Еслихотя бы одна из операций с БД внутри транзакции не выполнилась успешно, то всеизменения в БД, произведенные к этому моменту из транзакции, отменяются(происходит откат транзакции). Такое функционирование обеспечивает логическуюцелостность данных в базе данных.
При распределенной обработке изменения, проводимыеприложением-клиентом, могут затрагивать более чем один сервер СУБД. В этомслучае для поддержания целостности необходимо применение транзакционногомеханизма, реализуемого системными средствами, а не прикладной программой.
Производители современных промышленных СУБД обеспечиваютподдержку распределенной обработки транзакций. Распределенная обработка данныхосновывается на синхронных или асинхронных механизмах обработки распределенныхтранзакций. Эти механизмы могут использоваться совместно. Выбор того или иногомеханизма зависит от требований конкретной подзадачи, так как каждый механизмобладает сильными и слабыми сторонами.
Фиксация. Исторически первым появился методсинхронного внесения изменений в несколько БД, называемый двухфазной фиксацией(2PC — two-phase commit). Этот механизм реализован сейчас практически у всехпроизводителей СУБД.
Метод двухфазной фиксации состоит в том, что призавершении транзакции серверы БД, участвующие в ней, получают команду«приготовиться к фиксации транзакции». После получении подтвержденийот всех серверов транзакция фиксируется на каждом из них. Все ресурсы,используемые в транзакции, остаются блокированными до тех пор, пока всекомпоненты транзакции могут быть атомарно завершены успешно, либо все отменены.Таким образом, в любой момент времени обеспечивается целостность данных враспределенной системе. Платой за это является требование доступности всехучаствующих серверов и линий связи во время проведения транзакции иневозможность работы приложений-клиентов при недоступности, например,удаленного сервера. Кроме того, требуется высокое быстродействие линий связидля обеспечения приемлемого времени реакции у приложения-клиента.
В распределенной системе идеальным являлось бы состояние,когда каждая программа-клиент обращается только к тем серверам, которыенаходятся в пределах ее локальной сети, а передача данных и обеспечениецелостности осуществляется системными средствами и не требуют специальныхдействий со стороны прикладной программы. Такое распределение функций возможнои реализуется на практике с помощью механизма асинхронного тиражированиятранзакций.
Асинхронная репликация не делает линии связи более надежнымиили скоростными. Она перекладывает передачу данных, обеспечение их целостностии ожидание при передаче данных с прикладной программы и пользователя насистемный уровень.
Асинхронная репликация, в отличие от 2РС, не обеспечиваетполной синхронности информации на всех серверах в любой момент времени.Синхронизация происходит через некоторый, обычно небольшой, интервал времени,величина которого определяется быстродействием соответствующего канала связи.Для большинства задач кратковременное наличие устаревших данных в удаленныхузлах вполне допустимо. Вместе с тем асинхронная репликация транзакцийпринципиально обеспечивает целостность данных, так как объектом обмена даннымиздесь является логическая единица работы — транзакция, а не просто данные изизмененных таблиц.
Репликационный сервер Sybase Replication Server,входящий в состав Sybase System 11, использует асинхронную модель репликациитранзакций. При разработке модели данных проектируются и правила репликации.Затем проводится конфигурирование системы. При работе прикладной программыизменения данных отслеживаются системными средствами и в соответствии сконфигурацией требуемые данные передаются в удаленную СУБД.
Репликационный сервер представляет собой отдельнуюзадачу, запускаемую одновременно с СУБД. Он имеет свой входной язык истандартный для продуктов Sybase сетевой интерфейс Open Server. Такоеразделение снижает нагрузку на СУБД и делает систему в целом более открытой.
Транзакция может вносить изменения в одну или несколько таблицбазы данных. Выбранные для репликации таблицы специальным образом помечаются.Для каждой такой таблицы или группы ее строк, выбранной по заданному условию,определяется один узел, в котором данные таблицы являются первичными. Это тотузел, в котором происходит наиболее активное обновление данных. Репликационномусерверу, обслуживающему БД с первичными данными, задается описаниетиражирования (replication definition). В этом описании, в частности, могутбыть заданы интервалы значений первичного ключа таблицы (или другое условие напервичный ключ), при выполнении которого измененные данные будут тиражироватьсяиз этого узла к подписчикам. Если условие не задано, то описание тиражированиядействует для всех записей таблицы.
Возможность тиражирования группы записей таблицы означает, вчастности, что часть записей таблицы может быть первичными данными в одномузле, а часть — в других. В одном или нескольких узлах (СУБД), которым нужныизмененные данные, в обслуживающем его репликационном сервере создается подписка(subscription) на соответствующее описание тиражирования.
В узле, содержащем первичные данные, для каждой тиражируемойбазы данных запускается специальная компонента — репликационный агент(Replication Agent — RA). Он подключается к серверу БД и получает от негоуведомления о завершении транзакций. Измененные данные передаютсярепликационному серверу, обслуживающему этот узел. Репликационный сервер всоответствии с описанием тиражирования и подписками отправляет данные вспециальном эффективном протоколе по месту назначения — соответствующимрепликационным серверам в удаленных узлах.
Именно в этом месте — между репликационными серверами — связь может быть медленной или недостаточно надежной. Передаваемые данные всоставе транзакции при недоступности узла-получателя записываются в стабильныеочереди на диске и затем передаются по мере возможности. Данные могутпередаваться в удаленный узел по маршруту, содержащему несколько репликационныхсерверов. Данная возможность лежит в основе построения иерархических системрепликации.
СУБД, хранящая вторичные данные, может быть любой СУБД,доступной через шлюз, в том числе Oracle, Informix, Ingres, DB2, RMS, ISAM, илидаже приложение Open Server. СУБД, хранящая первичные данные, требует наличиядля нее RA. Сейчас RA имеется для Sybase SQL Server, Oracle, DB2, Sybase SQLAnywhere. Готовятся RA и для других СУБД. Интерфейс RA открыт и возможносоздание RA для нестандартных источников данных.
Важно, что репликационный сервер тиражирует транзакции, а неотдельные изменения в базе данных. Метод тиражирования транзакций гарантируетцелостность внутри транзакции, и, как следствие, невозможность нарушенияссылочной целостности. Схема обновления первичных данных и копий данныхисключает возможность возникновения конфликтов (конфл


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.