Базы данных. 2
Содержание
- Введение…………………………………………………………
..………….4 - Понятие информационной системы………………………………………..6
- Понятие базы данных………………………………………………………..9
- Язык запросов SQL…………………………………………………………..14
- Проектирование базы данных……………………………………………….16
- Этапы проектирования базы данных………………………………………..18
- Практическая
часть. Разработка программы в системе
программирования Delphi 7.0………………………………………………………………...
……19 - Заключение……………………………………………………
…………...…24 - Список литературы……………………………………………………
……..25
1. Введение
Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Поэтому в любой организации, как большой, так и маленькой, возникает проблема такой организации управления данными, которая обеспечила бы наиболее эффективную работу. Некоторые организации используют для этого шкафы с папками, но большинство предпочитают компьютеризированные способы – базы данных, позволяющие эффективно хранить, структурировать и систематизировать большие объемы данных. И уже сегодня без баз данных невозможно представить работу большинства финансовых, промышленных, торговых и прочих организаций. Не будь баз данных, они бы просто захлебнулись в информационной лавине.
Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д.
Для
использования столь огромных объемов
хранимой информации, помимо развития
системных устройств, средств передачи
данных, памяти необходимы средства обеспечения
диалога человек-ЭВМ, которые позволяют
пользователю вводить запросы, читать
файлы, модифицировать хранимые данные,
добавлять новые данные или принимать
решения на основании хранимых данных.
Для обеспечения этих функций созданы
специализированные средства – системы
управления базами данных (СУБД). Современные
СУБД - многопользовательские системы
управления базой данных, которые специализируется
на управлении массивом информации одним
или множеством одновременно работающих
пользователей.
Целью
данной курсовой работы являлось дать
понятие базы данных и создание базы данных,
хранящую информацию о расписании
и работа с ней в системе программирования
Delphi 7.0. Основная задача – работа с SQL –
запросами, а так же внесение и изменение
данных.
2. Понятие информационной системы.
Веками человечество накапливало знания, навыки работы, сведения об окружающем мире, другими словами – собирало информацию. Вначале информация передавалась из поколения в поколение в виде преданий и устных рассказов. Возникновение и развитие книжного дела позволило передавать и хранить информацию в более надежном письменном виде. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения – средств, позволяющих оперативно передавать и накапливать информацию. Развитие прогресса обусловило резкий рост информации, в связи с чем, вопрос о ее сохранении и переработке становился год от года острее. С появлением вычислительной техники значительно упростились способы хранения, а главное, обработки информации. Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы. Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление человеку нужной информации о них.
Если мы рассмотрим совокупность некоторых объектов, то сможем выделить объекты, обладающие одинаковыми свойствами. Такие объекты выделяют в отдельные классы. Внутри выделенного класса объекты можно упорядочивать как по общим правилам классифицирования, например по алфавиту, так и по некоторым конкретным общим признакам, например по цвету или материалу. Группировка объектов по определенным признакам значительно облегчает поиск и отбор информации. Все эти сведения накапливаются в совокупности файлов называемой базой данных, а для управления этими файлами создаются специальные программы – системы управления базами данных (СУБД).
Информационные системы (ИС) можно условно разделить на фактографические и документальные.
В фактографических ИС регистрируются факты – конкретные значения данных (атрибутов) об объектах реального мира. Основная идея таких систем заключается в том, что все сведения об объектах (фамилии людей и названия предметов, числа, даты) сообщаются компьютеру в каком-то заранее обусловленном формате (например дата – в виде комбинации ДД.ММ.ГГГГ). Информация, с которой работает фактографическая ИС, имеет четкую структуру, позволяющую машине отличать одно данное от другого, например фамилию от должности человека, дату рождения от роста и т.п. Поэтому фактографическая система способна давать однозначные ответы на поставленные вопросы.
Документальные ИС обслуживают принципиально иной класс задач, которые не предполагают однозначного ответа на поставленный вопрос. Базу данных таких систем образует совокупность неструктурированных текстовых документов (статьи, книги, рефераты и т.д.) и графических объектов, снабженная тем или иным формализованным аппаратом поиска. Цель системы, как правило, - выдать в ответ на запрос пользователя список документов или объектов, в какой-то мере удовлетворяющих сформулированным в запросе условиям.
Указанная классификация ИС в известной мере устарела, так как современные фактографические системы часто работают с неструктурированными блоками информации (текстами, графикой, звуком, видео), снабженными структурированными описателями. При известных факторах фактографическая система может превратиться в документальную (и наоборот).
Цели
данной работы удовлетворяют фактографические
ИС, которые используются буквально
во всех сферах человеческой деятельности.
[2]
Delphi – визуальная среда
разработки программ. Она прячет от нас
все сложности программирования, превращая
его в увлекательный процесс. При создании
обычных приложений, тебе не придётся
задумываться о регистрах, стеке и многом
другом.[3]
3. Понятие базы данных.
Существует хорошо известное, но трудно реализуемое на практике понятие базы данных как большого по объему хранилища, в которое организация помещает все необходимые ей данные и из которого различные пользователи могут эти данные получать. Устройства памяти, в которых хранятся все данные, могут быть расположены в одном или нескольких местах; в последнем случае они должны быть связаны средствами передачи данных. К данным должны иметь доступ программы.
Действительно, большинство существующих на сегодняшний день баз данных предназначено для ограниченного ряда приложений. Часто на одной ЭВМ создается несколько баз данных. Со временем базы данных, предназначенные для реализации отдельных родственных функций, можно будет объединить, если такое объединение будет способствовать увеличению эффективности и интенсивности использования всей системы.
Базу данных можно определить как совокупность взаимосвязанных хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений; данные запоминаются так, чтобы они были независимы от программ, использующих эти данные; для добавления новых или модификации существующих данных, а также для поиска данных в базе данных применяется общий управляемый способ. [1]
Говорят, что система содержит совокупность баз данных, если" эти базы данных структурно полностью самостоятельны. В системах с простой организацией данных для каждого приложения создается своя совокупность записей. Назначение базы данных заключается в том, чтобы одну и ту же совокупность данных можно было использовать для максимально возможного числа приложений. Исходя из этого, базу данных часто разрабатывают в качестве хранилища такой информации, необходимость в котором возникает в процессе выполнения определенных функций на заводе, правительственном учреждении или какой-либо другой организации. Такая база данных должна обеспечивать возможность не только получения информации, но также постоянной ее модификации, необходимой для процессов управления в данной организации, может оказаться, что для получения информации для целей планирования или ответов на вопросы потребуется осуществлять поиск в базе данных. Совокупностью данных могут пользоваться несколько ведомств независимо от того, имеются ли при этом между ними ведомственные барьеры.
База данных может разрабатываться для пакетной обработки данных, обработки в реальном времени или оперативной обработки (в этом случае обработка каждого запроса завершается к определенному моменту времени, но при этом на время обработки не накладывается жестких ограничений, существующих в системах реального времени). Во многих базах данных предусмотрена совокупность этих методов обработки, а во многих системах с базами данных обслуживание терминалов в реальном времени происходит одновременно с пакетной обработкой данных.
Большая
часть дисковых или ленточных
библиотек, которые существовали до
использования средств
Неуправляемая избыточность имеет несколько недостатков. Во-первых, хранение нескольких копий данных приводит к дополнительным затратам. Во-вторых, при обновлении, по крайней мере, нескольких избыточных копий необходимо выполнять многократные операции обновления. Избыточность поэтому обходится значительно дороже в тех случаях, когда при обработке файлов обновляется большое количество информации или, что еще хуже, часто вводятся новые элементы или уничтожаются старые. В-третьих, вследствие того, что различные копии данных могут соответствовать различным стадиям обновления, информация, выдаваемая системой, может быть противоречивой.
Если не использовать базы данных, то при обработке большого количества информации появится так много избыточных данных, что фактически станет невозможным сохранять их все на одном и том же уровне обновления. Очень часто пользователи обнаруживают явные противоречия в данных и поэтому испытывают недоверие к полученной от ЭВМ информации. Невозможность хранения избыточных данных на одинаковом уровне обновления является основным препятствием в обработке данных с помощью ЭВМ.
Одной из наиболее важных характеристик большинства баз данных является их постоянное изменение и расширение. По мере добавления новых типов данных или при появлении новых приложений должна быть обеспечена возможность быстрого изменения структуры базы данных. Реорганизация базы данных должна осуществляться по возможности без перезаписи прикладных программ и в целом вызывать минимальное количество преобразований. Простота изменения базы данных может оказать большое влияние на развитие приложений баз данных в управлении производством.
О независимости данных часто говорят как об одном из основных свойств базы данных. Под этим подразумевается независимость данных и использующих их прикладных программ друг от друга в том смысле, что изменение одних не приводит к изменению других. В частности, прикладной программист изолирован от влияния изменений данных и их организации, а также от изменения характеристик физических устройств, на которых они хранятся. В действительности же полностью независимыми данные бывают так же редко, как и полностью неизбыточными. Как мы увидим ниже, независимость данных определяется с различных точек зрения. Сведения, которыми должен располагать программист для доступа к данным, различны для различных баз данных. Тем не менее, независимость данных—это одна из основных причин использования систем управления базами данных.
В том случае, когда один набор элементов данных используется для многих приложений, между элементами этого набора устанавливается множество различных взаимосвязей, необходимых для соответствующих прикладных программ. Организация базы данных в значительной степени зависит от реализации взаимосвязей между элементами данных и записями, а также от того, как и где эти данные хранятся. В базе данных, используемой многими приложениями, должны быть установлены многочисленные промежуточные взаимосвязи между элементами. В этом случае при хранении и использовании данных контролировать их правильность, обеспечивать их защиту и секретность труднее, чем при хранении данных в простых, несвязанных файлах. Что касается обеспечения секретности данных и восстановления их после сбоев, то этот вопрос является очень важным при конструировании баз данных.
В некоторых системах средства управления базами данных применяются для того, чтобы пользователи могли использовать данные таким путем, который не был предусмотрен разработчиками системы. Администраторы или сотрудники могут обращаться к вычислительной системе с вопросами, которые заранее в ней не предусматривались. Наличие этой возможности означает такую организацию данных в системе, при которой доступ к ним можно осуществлять по различным путям, причем одни и те же данные могут использоваться для ответов на различные вопросы. Вся существенная информация об объектах запоминается одновременно и полностью, а не только та ее часть, которая необходима для одного приложения.
В
настоящее время существуют СУБД,
реализующие эти возможности как на
уровне локальных баз данных, расположенных
на одном диске (Paradox, Dbase), так и промышленных
баз данных (Acsess, Oracle,MSSQL, FoxPro).
4.
Язык запросов SQL
SQL переводят на русский как Структурированный Язык Запросов . С помощью SQL-запросов можно создавать и работать с реляционными базами данных. Этот язык стал стандартом, поэтому если ты хочешь работать с базами данных, то ты должен знать этот язык как каждую дырку в своих зубах.
SQL определяется Американским Национальным Институтом Стандартов и Международной Организацией по стандартизации (ISO) . Несмотря на это, некоторые производители баз данных вносят изменения и дополнения в этот язык. Эти изменения незначительны и основа остаётся совместимой со стандартом. Что такое реляционная база данных? Это таблица, в которой в качестве столбцов выступают поля данных, а каждая строка хранит данные. В каждой таблице должно быть одно уникальное поле, которое однозначно будет идентифицировать строку. Это поле называется ключевым. Эти поля очень часто используются для связывания таблиц или для обеспечения уникальности каждой записи. Но даже если у тебя таблица не связана, ключевое поле всё равно обязательно. Вот тут тебе поможет ключ. В качестве ключа желательно использовать численный тип и если позволяет база данных, то будет лучше, если он будет типа "autoincrement" (автоматически увеличивающееся/уменьшающееся число).
Столбцы в базе данных, также должны быть уникальными, но в этом случае не обязательно числовыми. Их можно называть как угодно, лишь бы было уникально и тебе понятно.
SQL
может быть двух типов:
Интерактивный
SQL более близок к стандартному, а
во вложенном очень часто
5.
Проектирование базы
данных
Проектирование БД связанно с разрешением проблем представления данных между конечными пользователями. Они продиктованы различными потребностями и задачами лиц, которые используют эти данные. Пользователи могут быть выделены в отдельные группы. Каждая из групп воздействует на результаты проектирования в разных направлениях. Необходимо собрать информацию о реальных и потенциальных приложениях, а также о пользователях базы данных, чтобы устранить все противоречия ещё на начальном этапе, так как многолетний мировой опыт использования информационных систем, построенных на основе баз данных, показывает, что недостатки проекта допущенные на этапе проектирования невозможно устранить любыми ухищрениями в программах приложений.
Проектирование обычно поручается человеку (группе лиц) – администратору базы данных (АБД). Им может быть как специально выделенный сотрудник, так и будущий пользователь базы данных, достаточно хорошо знакомый с машинной обработкой данных.
В основу проектирования БД должны быть положены представления конечных пользователей конкретной организации — концептуальные требования к системе. Именно конечный пользователь в своей работе принимает решения с учетом получаемой в результате доступа к базе данных информации. От оперативности и качества этой информации будет зависеть эффективность работы организации. Данные, помещаемые в базу данных, также предоставляет конечный пользователь. Кроме того, БД должна предоставлять доступ к данным пользователям, которые практически не имеют или не хотят иметь представления о физическом размещении в памяти данных и их описаний, о механизмах поиска запрашиваемых данных или о поддержании баз данных в актуальном состоянии.
Прикладные программисты хотели бы иметь в одном месте (например, в одной таблице) все данные, необходимые им для реализации запроса из прикладной программы или с терминала.
АБД же заботятся об исключении возможных искажений хранимых данных при вводе в базу данных новой информации и обновлении или удалении существующей. Для этого они удаляют из базы данных дубликаты и нежелательные функциональные связи между таблицами, разбивая базу данных на множество маленьких таблиц.
Чтобы
различать представления данных
конечными пользователями, программистами
и АБД создаются разные уровни
моделей данных. Основное различие
между указанными выше тремя типами моделей
данных (концептуальной, логической и
физической) состоит в способах представления
взаимосвязей между объектами. При проектировании
БД требуется различать взаимосвязи между
объектами, между свойствами одного объекта
и между свойствами различных объектов.
Рассмотрим каждую из них более подробно.[2]
6.
Этапы проектирования
базы данных
Этапы проектирования базы данных с учетом рассмотренных выше аспектов:
- Проектирование инфологической концептуальной модели баз данных:
а) Исследование предметной области применения и выявление требований конечных пользователей и решаемых задач.
в) Анализ данных: сбор основных данных (объекты, связи между объектами).
с) Построение ER-диаграммы базы данных.
- Проектирование даталогической модели базы данных (учитывать требования СУБД ).
a)
Потенциально возможные
- Проектирование физической модели базы данных (оценка эксплуатационных характеристик прикладных программ).
- Реализация базы данных (оценка при неудовлетворительных эксплуатационных характеристиках).[1]
7.
Практичекая часть.
Разработка программы
в системе программирования
Delphi 7.0.
В MSSQL создаём базу данных «Schedule», выполнив sql-скрипт:
create
database Schedule;
create table Kafedra
( id int PRIMARY KEY identity not null,
KafedraName varchar (255) not null,
KafedraShortName varchar (100) not null
);
create table Auditory
( id int PRIMARY KEY identity not null,
AuditoryName varchar (100) not null,
CountStudents int not null
);
create table Predmets
( id int PRIMARY KEY identity not null,
PredmetName varchar (255) not null,
PredmetShortName varchar (50) not null
);
create table Spec
( id int PRIMARY KEY identity not null,
SpecName varchar (100) not null,
SpecShortName varchar (30) not null,
SpecKod
int not null
);
create table Prepods
( id int PRIMARY KEY identity not null,
KafedraId int not null constraint FK_Prepods_KafedraId FOREIGN
KEY([KafedraId]) REFERENCES [dbo].[Kafedra] ([id]) ON
DELETE CASCADE,
PrepodFIO varchar (100) not null,
Post varchar
(50) not null
);
create table Groups
( id int PRIMARY KEY identity not null,
SpecId int not null constraint FK_Groups_SpecId FOREIGN KEY([SpecId])
REFERENCES [dbo].[Spec] ([id])ON DELETE CASCADE,
GroupName varchar (100) not null,
GroupCountStudents int not null,
GroupBegin datetime not null);
create table Times
( id int PRIMARY KEY identity not null,
Nomer int not null,
TimesBegin datetime not null,
TimesEnd datetime not null,
);
create table Zanyatiya
(
id int PRIMARY KEY identity not null,
ZanName varchar(20) not null
);
create table Days
(
id int PRIMARY KEY identity not null,
daysNum int not null ,
daysName varchar(20) not null
);
create table Sheduler
(
Id int PRIMARY KEY identity not null,
GroupId int not null constraint FK_Sheduler_GroupId FOREIGN
KEY([GroupId]) REFERENCES [dbo].[Groups] ([id])
ON
DELETE CASCADE ,
AuditoryId int not null constraint FK_Sheduler_AuditoryId FOREIGN
KEY([AuditoryId]) REFERENCES [dbo].[Auditory] ([id])
ON DELETE CASCADE,
TimeId int not null constraint FK_Sheduler_TimeId FOREIGN
KEY([TimeId]) REFERENCES [dbo].[Times] ([id]) ON
DELETE CASCADE,
PredmetsId int not null constraint FK_Sheduler_PredmetsId FOREIGN
KEY([PredmetsId]) REFERENCES [dbo].[Predmets] ([id])
ON DELETE CASCADE,
PrepodId int not null constraint FK_Sheduler_PrepodId FOREIGN
KEY([PrepodId]) REFERENCES [dbo].[Prepods] ([id])
ON DELETE CASCADE,
daysOfWeek int not null constraint FK_Sheduler_daysOfWeek FOREIGN
KEY([daysOfWeek]) REFERENCES [dbo].[Days] ([id])
ON DELETE CASCADE,
typeWeek int not null,
ZanId int not null constraint FK_Sheduler_ZanId FOREIGN
KEY([ZanId]) REFERENCE [dbo].[Zanyatiya]([id])
ON DELETE CASCADE
);
В Delphi 7 создаём новую форму DataModule, куда помещаем необходимые компоненты для работы с базой данных:
ADOConnection – используется для соединения с БД;
ADOTable – используется для доступа к конкретной таблице;
