Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Система управления базами данных. Назначение и основные возможности.






Базы данных используются буквально во всех сферах человеческой деятельности — в науке, производстве, тор­говле, медицине, криминалистике, искусстве и т.п.

Что такое база данных (БД)? В широком смысле сло­ва можно сказать, что база данных — это совокуп­ность систематизированных сведений об объектах окру­жающего нас мира по какой-либо области знаний, свое­образная информационная модель этой области. Напри­мер: БД по сплавам металлов, БД о работниках пред­приятия, БД в системе продажи билетов, БД докумен­тов в той или иной области, БД по видеофильмам — и многие другие.

Обратите внимание на то, что в определении отсут­ствует упоминание о компьютере. И это не ошибка — хранение систематизированных данных в виде различ­ных картотек использовалось до появления самых пер­вых вычислительных машин. Вспомните, например, ка­талог в библиотеке — традиционные небольшие ящич­ки, заполненные карточками со сведениями о книгах и месте их хранения. Во многих библиотеках они сохра­нились до сих пор, хотя постепенно их содержимое пе­реносится в обширную память компьютеров. Переход к компьютерному хранению информации дает много пре­имуществ: практически неограниченный объем данных в сочетании с оперативным доступом к ним, возмож­ность логического контроля вводимой информации, кон­троль целостности и непротиворечивости информации в базе, регулирование уровня доступа к данным для раз­личных категорий пользователей и, наконец, самое глав­ное — замена механического извлечения отдельных све­дений мощными методами обработки запросов челове­ка и автоматическое составление произвольных справок и отчетов. С появлением компьютерных сетей отпала необходимость хранения данных в одной машине и даже в одной стране, возникли так называемые распреде­ленные БД. " Вершиной" объединения компьютерных данных может служить Всемирная информационная сеть Интернет.

Тем не менее, отдельно взятой БД для реализации всех перечисленных возможностей недостаточно. Помимо собственно данных, требуется специальное программ­ное обеспечение, которое с ними работает. Такое уни­версальное ПО принято называть системами управле­ния базами данных, или сокращенно субд. Именно наличие субд превращает огромный объем хранимых в компьютерной памяти сведений в мощную справоч­ную систему, способную производить поиск и отбор не­обходимой нам информации.

Роль и место СУБД в процессах компьютерной обра­ботки данных иллюстрирует следующая схема.

Собственно субд, управляющая доступом к данным в базе, является универсальным программным обеспе­чением. Поэтому для адаптации к кон­кретной области и учета ее конкрет­ных особенностей необходима возмож­ность " подстройки" программного обеспечения. С этой целью большин­ство субд обладают встроенными средствами подобного рода, т.е. фак­тически собственным языком програм­мирования. Заметим, что в более ран­них разновидностях СУБД, например dBASE и родственных ей (FoxPro, Сlipper), это было заметно наиболее отчетливо. В современном программ­ном обеспечении, таком, как МS Ассess, Раradox, С1arion, создание различных форм и отчетов во многом автома­тизировано, но тем не менее встроенные языковые сред­ства по-прежнему сохраняются.

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

Сформулируем теперь более четко те функции, кото­рые выполняет современная система управления базами данных.

• Ввод информации в БД и обеспечение его ло­гического контроля. Под логическим контролем здесь понимается проверка на допустимость вводимых дан­ных: нельзя, например, вводить дату рождения 31 июня 1057 года.

• Исправление информации (также с контролем правильности ввода).

• Удаление устаревшей информации.

• Контроль целостности и непротиворечивости данных. Под термином " целостность" обычно пони­мают то, что данные, хранящиеся в разных частях базы данных, не противоречат друг другу, например, дата по­ступления в школу явно не может быть позже даты ее окончания.

• Защита данных от разрушения. Помимо конт­роля за целостностью, который только что обсуждался, субд должна иметь средства защиты данных от вык­лючения электропитани'я, сбоев оборудования и других аварийных ситуаций, а также возможности последую­щего восстановления информации. Особую актуальность данный пункт приобретает в сложных многопользова­тельских системах.

• Поиск информации с необходимыми свойства­ми. Одна из наиболее важных в практическом отноше­нии задач, ради которой ставятся все остальные.

• Автоматическое упорядочивание информации в соответствии с требованиями человека. Сюда от­носится сортировка данных, распределение их между несколькими базами и другие подобные процедуры.

• Обеспечение коллективного доступа к данным. В современных информационных системах возможен параллельный доступ к одним и тем же данным несколь­ких пользователей, поэтому субд должны поддержи­вать такой режим.

• Защита от несанкционированного доступа. Не только ввод новой информации, но даже ее просмотр дол­жны быть разрешены только тем пользователям, у кото­рых есть на это права. Причем речь идет не только о со­хранении военной или коммерческой тайны. Например, казалось бы, такой безобидный факт, извлеченный из БД, как неоднократная покупка человеком определенного ле­карства в аптеке, в принципе может привести к тому, что при приеме на работу будет взят другой претендент.

• Удобный и интуитивно понятный пользовате­лю интерфейс.

Наконец, говоря о субд, нельзя обойти стороной еще один общий вопрос, связанный с организацией в них данных. Начнем с того, что, помимо собственно дан­ных, в любой базе имеется информация о ее строении, которую чаще всего называют структурой. В простей­шем случае структура просто указывает тип информа­ции и объем требуемой для нее памяти. Сведения о структуре позволяют субд легко рассчитывать место­положение требуемых данных на внешнем носителе и, следовательно, быстро получить к ним доступ.

Связанные между собой данные, например сведения об одном человеке или объекте, объединяются в БД в единую конструкцию, которая называется запись. При этом части, образующие запись, принято называть по­лями, или реже — элементами данных. Примерами полей могут служить фамилия, номер паспорта, семей­ное положение, наличие или отсутствие детей и т.д.

Характер связи между записями в БД определяет три основных типа организации баз данных: иерархический, сетевой и реляционный.

 

Иерархическая Сетевая Реляционная

В иерархической базе данных записи образуют осо­бую структуру, называемую деревом (см. рисунок). При таком способе организации каждая запись может при­надлежать только одному " родителю" (более правиль­ный термин — " владелец отношения"). В качестве примеров такого рода отношений можно привести сле­дующие: организация — [основная работа] — ра­ботник, банк — [вклад] — сберкнижка, футбольная команда — [хозяин поля] — матч и т.п.

Как следует из описанного выше, любой компонент дерева однозначно определяется путем, по которому мы можем его достигнуть, начиная с главного (верхнего) элемента. Отметим, что типичными примерами иерархи­ческого способа организации являются хорошо известная система вложенных каталогов в операционной системе, или так называемое генеалогическое дерево, представляю­щее собой графическое представление родословной.

В сетевой базе данных связи разрешено устанавли­вать произвольным образом, без всяких ограничений, поэтому запись может быть найдена значительно быст­рее (по наиболее короткому пути). Такая модель лучше всего соответствует реальной жизни: один и тот же че­ловек является одновременно и работником, и клиен­том банка, и покупателем, т.е. запись с информацией о нем образует довольно густую сеть сложных связей. В определенном смысле наличие подобных связей моде­лирует реальные связи между объектами внешнего мира. Трудность состоит в том, что указанную организацию БД, к сожалению, сложно реализовать.

Хотя описанные выше способы являются более уни­версальными, на практике распространен самый про­стой тип организации данных — реляционный. Слово " реляционный" происходит от английского " relation", что значит отношение. Строгое определение отноше­ния достаточно математизировано, поэтому на практи­ке обычно пользуются следствием из него: поскольку отношения удобно представлять в виде таблиц, то гово­рят, что реляционные базы — это базы с табличной формой организации. В качестве примера рассмотрим следующий фрагмент базы, опубликованной в статье [2] дополнительной литературы:

№   Персонаж   Профессия   Особые приметы   Герой  
  Буратино   деревянный человечек   длинный нос   да  
  Папа Карло   шарманщик       да  
  Карабас Барабас   директор кукольного театра   борода до пола   нет  
  Дуремар   фармацевт   характерный запах тины   нет  

Отметим еще одну важную особенность реляцион­ной модели данных. Поскольку в отличие от иерархи­ческой и сетевой организации баз в реляционных БД отсутствует понятие ассоциативных связей между пара­ми записей, приходится их специальным образом моде­лировать. Для этой цели в записях создаются дополни­тельные поля, в которых ставится ссылка на требуемую запись, например, поля с названием организации и ве­домства на следующем рисунке:

Ф.И.О.   год рождения   наименование организации          

наименование организации   ведомство   адрес   телефон   директор  

ведомство адрес телефон    

Таким образом, задаются необходимые отношения между полями в случае реляционной БД.

По мере развития вычислительной техники и роста ее возможностей роль электронных баз данных, несом­ненно, будет возрастать. Поэтому умение пользоваться этим видом компьютерной информации является обя­зательной частью образования современного человека.

2. Решение расчетной задачи с использованием математических функций в среде программирования. Задача

Рассчитать таблицу углов преломления (в градусах) для среды с относительным показателем преломления п. угол падения задавать через 10 градусов от 0 до 90. Расчеты выполнить по приведенным ниже формулам:

1. рi=4*arctg 1— если транслятор не содержит значения константы л.

2. r1=(g1/180)*pi— перевод угла падения из гра­дусов в радианы.

3. si=sin r1/n – угла преломления.

4. r2=arctg (si/sqrt(1-si*si)) — вычисление агsin величины я; результат — угол преломления в радианах.

5. g 2 =(r 2 /pi)*180 — перевод угла преломления из радиан в градусы.

Здесь g 1 и r 1, — угол падения в радианах и градусах, g 2 и r 2, — угол преломления.

Примечание. Пояснение происхождения данных формул дается ниже, хотя благодаря формальности алгоритмов знание этого совсем необязательно.

Краткая справка

Пусть вас не пугает физика, закон преломления света на границе двух сред необычайно простой:

Sin U1 = n

Sin U2

Здесь U1 называется углом падения, а U2 — углом преломления. Отношение синусов этих углов для задан­ных двух сред и есть та самая константа п, которая задана в условии задачи. Возьмем для определенности границу между воздухом и водой, тогда п == 1, 33.

Вот, собственно, и вся необходимая нам сейчас физика. Гораздо большие неприятности нас ожидают при попыт­ке выполнить расчеты по этой, казалось бы, простой фор­муле. Здесь мы встретим некоторые неожиданные ослож­нения. Во-первых, все вычисления компьютер всегда про­изводит в радианах, а не в градусах, значит, необходимо выполнить соответствующий переход от одних единиц к другим (в скобках заметим, что в некоторых старых вер­сиях языков, например в СW BASIC, это породит еще одну дополнительную трудность — придется задавать кон­станту те, которую транслятор " не знает"). Второе специ­фическое препятствие, поджидающее нас на этом пути, состоит в том, что в " базовом" наборе тригонометриче­ских функций (sin x, cosx, arctg x ) отсутствует необходимыми для задачи аrcsin х — придется выражать его через аrctg. В итоге получится приведенная выше последова­тельность формул для вычислений (см. условие задачи).

Решение

Язык Бейсик

input " n="; n

рi = 4 * аtn(1)

fог 1 = 0 tо 9

g1 = 10 * 1 'угол падения в градусах

r1 = (g1/180) * рi 'угол в радианах

s1 = sin(r1)/n 'sin угла преломления

г2 = аtn(si/sqr(1 — si * si)) 'угол в рад.

g2 = (г2/pi) * 180 'угол прелом. В град.

ргшй g1, g2

nехt






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.