Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Реляционныебазыданных.Понятиереляционноймоделибазыданных.Понятиятаблицы,записи,поля,типовполя.Связываниетаблиц,первичныеивнешниеключи.Обеспечениецелостностиданных.
РеляционныеБДэтосредстводлярациональногоиэффективногохраненияинформации.БДобеспечиваютнадежнуюзащитуданныхотслучайнойпотериилипорчи,экономноиспользуютресурсы(каклюдские,такитехнические)иснабженамеханизмомпоискаинформацииудовлетворяющимразумнымтребованиямкпроизводительности. Реляционнаямодельявляетсяудобнойинаиболеепривычнойформойпредставленияданных.Притабличнойорганизацииданныхотсутствуетиерархияэлементов.Строкиистолбцымогутбытьпросмотренывлюбомпорядке,поэтомувысокагибкостьвыборалюбогоподмножестваэлементоввстрокахистолбцах.Любаятаблицавреляционнойбазесостоитизстрок,которыеназываютзаписями,истолбцов,которыеназываютполями.Напересечениистрокистолбцовнаходятсяконкретныезначенияданных.Длякаждогополяопределяетсямножествоегозначений.Вреляционноймоделипоименованныйстолбецотношенияназываетсяатрибутом,амножестводопустимыхзначенийодногоилинесколькихатрибута–доменом.Каждыйатрибутопределяетсянанекоторомдомене.Строкиотношениясозначениямиразныхатрибутовназываюткортежами. Достоинствареляционныхмоделейданных:упрощеннаясхемапредставления(ввидетаблицы)имодификацииданных,оптимизациядоступакданным,посколькусистемысамивыбираютнаиболееэффективнуюпоследовательностьдействий;возможностиразличныхприменений,втомчислеирассчитанныхнанеспециалистоввобластипрограммирования;простотаинструментальныхсредствподдержки;• Недостатокреляционноймодели–вжесткостиструктурыданных,например,невозможнозадатьстрокутаблицыпроизвольнойдлины,атакжевсложностиописанияиерархическихисетевыхсвязейсредствамиреляционноймодели.Кнедостаткамможноотнестиизначительнуюфрагментациюданных. Вобщихчертахосновныепринципыреляционныхсистембазданныхможносформулироватьтак: · Вседанныенаконцептуальномуровнепредставляютсяввидеупорядоченнойорганизации,определеннойввидестрокистолбцовиназываемойотношением. · Всезначенияявляютсяскалярами.Этоозначает,чтодлялюбойстрокиистолбцалюбогоотношениясуществуетодноитолькооднозначение. · Всеоперациивыполняютсянадцелымотношением,ирезультатомвыполненияэтихоперацийтакжеявляетсяцелоеотношение.Этотпринципназываетсязамыканием. Врамкахреляционноймоделиданныепредставленыввидеотношениянаконцептуальномуровне;однакоприэтомсовсемнедаетсяникакихуказаний,какимобразомданныебудутреализованынафизическомуровне. Принципзамыканиязаключаетсявтом,чтоибазовыетаблицы,ирезультатыоперацийнадниминаконцептуальномуровнепредставляютсякакотношения.Онпозволяетнепосредственноиспользоватьрезультатыоднойоперациивкачествеисходныхданныхдлявыполнениядругой.Такимобразом,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; просмотров: 200. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |