Студопедия

КАТЕГОРИИ:

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

Реляционныебазыданных.Понятиереляционноймоделибазыданных.Понятиятаблицы,записи,поля,типовполя.Связываниетаблиц,первичныеивнешниеключи.Обеспечениецелостностиданных.




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

Реляционнаямодельявляетсяудобнойинаиболеепривычнойформойпредставленияданных.Притабличнойорганизацииданныхотсутствуетиерархияэлементов.Строкиистолбцымогутбытьпросмотренывлюбомпорядке,поэтомувысокагибкостьвыборалюбогоподмножестваэлементоввстрокахистолбцах.Любаятаблицавреляционнойбазесостоитизстрок,которыеназываютзаписями,истолбцов,которыеназываютполями.Напересечениистрокистолбцовнаходятсяконкретныезначенияданных.Длякаждогополяопределяетсямножествоегозначений.Вреляционноймоделипоименованныйстолбецотношенияназываетсяатрибутом,амножестводопустимыхзначенийодногоилинесколькихатрибута–доменом.Каждыйатрибутопределяетсянанекоторомдомене.Строкиотношениясозначениямиразныхатрибутовназываюткортежами.

Достоинствареляционныхмоделейданных:упрощеннаясхемапредставления(ввидетаблицы)имодификацииданных,оптимизациядоступакданным,посколькусистемысамивыбираютнаиболееэффективнуюпоследовательностьдействий;возможностиразличныхприменений,втомчислеирассчитанныхнанеспециалистоввобластипрограммирования;простотаинструментальныхсредствподдержки;•

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

Вобщихчертахосновныепринципыреляционныхсистембазданныхможносформулироватьтак:

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

· Всезначенияявляютсяскалярами.Этоозначает,чтодлялюбойстрокиистолбцалюбогоотношениясуществуетодноитолькооднозначение.

· Всеоперациивыполняютсянадцелымотношением,ирезультатомвыполненияэтихоперацийтакжеявляетсяцелоеотношение.Этотпринципназываетсязамыканием.

Врамкахреляционноймоделиданныепредставленыввидеотношениянаконцептуальномуровне;однакоприэтомсовсемнедаетсяникакихуказаний,какимобразомданныебудутреализованынафизическомуровне.

Принципзамыканиязаключаетсявтом,чтоибазовыетаблицы,ирезультатыоперацийнадниминаконцептуальномуровнепредставляютсякакотношения.Онпозволяетнепосредственноиспользоватьрезультатыоднойоперациивкачествеисходныхданныхдлявыполнениядругой.Такимобразом,SQLServerдаетвозможностьиспользоватьрезультатыодногозапросадлясоставлениянового.Этотпринципреализуетвобластиразработкибазданныхфункциональность,аналогичнуюподпрограммамвпроцедурномпрограммировании—возможностьинкапсуляциисложныхиличастоповторяющихсяоперацийдляповторногоиспользования.

ВреляционныхБДстрокатаблицыназываетсязаписью,астолбец—полем.Каждоеполетаблицыимеетимя.Внашемпримереприсутствуютполя:код,фамилия,имя,класс,адрес,датарождения,ростивес.

Одназаписьсодержитинформациюободномобъектетойреальнойсистемы,моделькоторойпредставленавтаблице.Вданномпримереодназапись–этоинформацияободномученике.

Поля—эторазличныехарактеристики(иногдаговорят–атрибуты)объекта.Значенияполейводнойстрокеотносятсякодномуобъекту.

Какотличитьоднузаписьотдругой?Вкаждойтаблицедолжнобыть,покрайнеймере,одноключевоеполе,содержимоекоторогоуникальнодлялюбойзаписивэтойтаблице.Значенияключевогополяоднозначноопределяюткаждуюзаписьвтаблице.

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

Скаждымполемсвязаноещеоднооченьважноесвойство–типполя.Типполяопределяетмножествозначений,которыеможетприниматьданноеполевразличныхзаписях.

Вреляционныхбазахданныхиспользуютсячетыреосновныхтипаполя:

o числовой;

o символьный;

o дата;

o логический.

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

ПрипрактическойразработкеБДтаблицы-сущностизовутсятаблицами,строки-экземпляры-записями,столбцы-атрибуты-полямиТБД.

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

Понятиепервичногоключа

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

Реляционныеотношения(связи)междутаблицамибазыданных

Междудвумяилиболеетаблицамибазыданныхмогутсуществоватьотношенияподчиненности.Отношенияподчиненностиопределяют,чтодлякаждойзаписиглавнойтаблицы{master,называемойещеродительской}можетсуществоватьоднаилинесколькозаписейвподчиненнойтаблице{detail,называемойещедочерней}.

Существуеттриразновидностисвязеймеждутаблицамибазыданных:

-«один-ко-многим»,

-«один-к-одному»,

-«многие-ко-многим».

Отношение«один-ко-многим»имеетместо,когдаоднойзаписиродительскойтаблицыможетсоответствоватьнесколькозаписейвдочернейтаблице.Связь"один-ко-многим"являетсясамойраспространеннойдляреляционныхбазданных.

ВширокораспространеннойнотацииструктурыбазданныхIDEF1Xотношение«один-ко-многим»изображаетсяпутемсоединениятаблицлинией,котораянасторонедочернейтаблицыоканчиваетсякружкомилиинымсимволом.Поля,входящиевпервичныйключдляданнойТБД,всегдарасположенывверхуиотчеркнутыотпрочихполейлинией.

Отношение«один-к-одному»имеетместо,когдаоднойзаписивродительскойтаблицесоответствуетодназаписьвдочернейтаблице.

Данноеотношениеиспользуют,еслинехотят,чтобытаблицаБД«нераспухала»отвторостепеннойинформации.

Отношение«многие-ко-многим»имеетместо,когда:

а)записивродительскойтаблицеможетсоответствоватьбольшеоднойзаписивдочернейтаблице;

б)записивдочернейтаблицеможетсоответствоватьбольшеоднойзаписивродительскойтаблице.

Например,каждойстудентизучаетнесколькодисциплин.Каждаядисциплинаизучаетсянесколькимистудентами.

МногиеСУБД(вчастностиAccess)неподдерживаютсвязи«многие-ко-многим»науровнеиндексовиссылочнойцелостности.Считается,чтовсякуюсвязь«многие-ко-многим»можнозаменитьнаоднуилиболеесвязей«один-ко-многим».

Ссылочнаяцелостностьикаскадныевоздействия.Рассмотримнаиболеечастовстречающуюсявбазахданныхсвязь«один-ко-многим».Какможнозаметить,дочерняяиродительскаятаблицысвязанымеждусобойпообщемуполю«Шифргруппы».Назовемэтополеполемсвязи.

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

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

Чтобыпредотвратитьпотерюссылочнойцелостности,используетсямеханизмкаскадныхизменений.Онсостоитвобеспеченииследующихтребований:

·необходимозапретитьизменениеполясвязивзаписидочернейтаблицыбезсинхронногоизмененияполейсвязивродительскойтаблице;

·приизмененииполясвязивзаписиродительскойтаблице,следуетсинхронноизменитьзначенияполейсвязивсоответствующихзаписяхдочернейтаблицы;

·приудалениизаписивродительскойтаблице,следуетудалитьсоответствующиезаписивдочернейтаблице.

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

Понятиевнешнегоключа.Дляобеспеченияссылочнойцелостностивдочернейтаблицесоздаетсявнешнийключ.Вовнешнийключвходятполясвязидочернейтаблицы.Длясвязейтипа"один-ко-многим"внешнийключпосоставуполейдолженсовпадатьспервичнымключомродительскойтаблицы.

Целостность–системаправил,используемаядлясвязизаписейвсвязнойтаблицеПоддержкацелостности–предотвращениенекорректноговводаданныхвтаблицах.


 

66.Объектно-ориентированныебазыданных

Объектно-ориентированнаябазаданных(ООБД)—базаданных,вкоторойданныемоделируютсяввидеобъектов,ихатрибутов,методовиклассов.

Объектно-ориентированныеБДреализуютобъектно-ориентированныйподход,обрабатываяданныекакабстрактныеобъекты,наделённыесвойствами,ввиденеструктурированныхданных,ииспользующиеметодывзаимодействиясдругимиобъектамиокружающегомира.

Примеры:Jasmine,IBMLotusNotes/Domino,ObjectStore

Объектно-ориентированныебазыданныхобычнорекомендованыдлятехслучаев,когдатребуетсявысокопроизводительнаяобработкаданных,имеющихсложнуюструктуру.

ООБДдолжнабытьобъектно-ориентированнойипредставлятьсобойбазуданных.

Результатомсовмещениявозможностей(особенностей)базданныхивозможностейобъектно-ориентированныхязыковпрограммированияявляютсяОбъектно-ориентированныесистемыуправлениябазамиданных(ООСУБД).ООСУБДпозволяетработатьсобъектамибазданныхтакже,каксобъектамивпрограммированиивООЯП.ООСУБДрасширяетязыкипрограммирования,прозрачновводядолговременныеданные,управлениепараллелизмом,восстановлениеданных,ассоциированныезапросыидругиевозможности.

Некоторыеобъектно-ориентированныебазыданныхразработаныдляплотноговзаимодействиястакимиобъектно-ориентированнымиязыкамипрограммированиякакPython,Java,C#,VisualBasic.NET,C++,Objective-CиSmalltalk;другиеимеютсвоисобственныеязыкипрограммирования.ООСУБДиспользуютточнотакуюжемодель,чтоиобъектно-ориентированныеязыкипрограммирования.


 

67.ОбъектыMSAccess.ПостроениеразличныхтиповзапросоввMSAccess.ФормыиотчетывMSAccess.

Access-полнофункциональнаяреляционнаяСУБД.ВэтойсистемеможнопользоватьсяпрактическивсемисредствамиоперационнойсистемыMSWindows.

MSAccessназываетобъектамивсе,чтоможетиметьимя(всмыслеAccess).ВбазеданныхAccess(файл.mdb)основнымиобъектамиявляютсятаблицы,запросы,формы,отчеты,макросыимодули.

ОсновныеобъектыбазыданныхAccess:

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

Запрос.Объект,которыйпозволяетпользователюполучитьнужныеданныеизоднойилинесколькихтаблиц.ДлясозданиязапросаможноиспользоватьзапроспообразцуилиинструкцииSQL.Можносоздатьзапросынавыборку,обновление,удалениеилидобавлениеданных.Спомощьюзапросовможнотакжесоздаватьновыетаблицы,используяданныеизоднойилинесколькихсуществующихтаблиц.

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

Отчет.Объект,предназначенныйдлясозданиядокумента,которыйвпоследствииможетбытьраспечатаниливключенвдокументдругогоприложения.

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

Модуль.Объект,содержащийпрограммынаVisualBasic.Модулимогутбытьнезависимымиобъектами,содержащимифункции,которыеможновызыватьизлюбогоместаприложения,ноонимогутбытьинепосредственно«привязаны»котдельнымформамилиотчетамдляреакциинатеилииныепроисходящиевнихизменения.

Страницадоступакданным.ОпубликованнаяспомощьюMSAccessвеб-страница,имеющаяподключениекбазеданных.Спомощьюстраницдоступакданнымможнопросматривать,добавлять,изменятьиобрабатыватьданные,хранящиесявбазеданных.Страницыдоступакданныммогуттакжесодержатьданныеиздругихисточников,такихкакMSExcel.

Видызапросов:

· Режим«Конструктор»–«ручное»созданиезапросанаосновеоднойилинесколькихтаблиц.

· Режим«Простойзапрос»–дляпоказасуммированияводнойколонке.

· Режим«Перекрестныйзапрос»–длясозданиявсевозможныхподсчетовнабазесхемыданных.

· Режим«Перекрестныйзапрос»–длясозданиявсевозможныхподсчетовнабазесхемыданных.

· Режим«Неимеющиеподчиненных»–дляпоказазаписей,неимеющихсвязей.

Итоговыйзапроссоздаетсяспомощьюрежима–Сводныйзапрос.Можноиспользоватьтритаблицы,включаясвязующуютаблицу.

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

Запроснаобновлениеиспользуетсядляобновленияданныхвполяхтаблиц.Изменениявносятсявгруппузаписей,отбираемыхпоуказаннымусловиям.










Последнее изменение этой страницы: 2018-04-12; просмотров: 195.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...