Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шпоры

.doc
Скачиваний:
41
Добавлен:
15.06.2014
Размер:
124.42 Кб
Скачать

Опред Бд

1.Опр – совокуп . спец. Обр. Орг. Данн,котор: а) подл. Длит. Хран . на внеш. Носит.

б) содерж. Инфо о фиксир. Кол-ве классов гл obj. Кло-во классов объектов м.б. огромн и все они отн к 1 func

в) исп в 1\ неск прил, отн к 1 прикладн обл

Жизн цикл БД больше, яем цикл прогр, ипольз эту базу

Категории БД

Термины физ уровня( по нарастающей):

  • Поле – min физич ед info

  • Физич запись – упоряд посл fix кол-ва полей

  • 2 физ зап – одонотип, если они сост из один посл полей

  • фаил – совокуп однотип записей

  • исп след файлы: послед. Доступ\связ списки\фаилы полн индекса\инверт фаилы

  • Блок – ед обмена м\у ОЗУ \ внешн. ЗУ

Термины лог уровня

  • Элем данных – min ед info, Индентиф БД с опр. Типом\наим.

  • Логич запись – совокуп fix кол-ва разл элем данн

  • 2 лог записи –однотипн, если они сост из один наб элем данн

  • Совокуп изложен лог зап. Отн соотв классу obj БД

  • Схема БД – совок отн с устан связями и огр целостн

Пример БД

Лог уров( разб табл+ зависим)

Физич уров ( заполн табл)

Схема.

Лог уров – опис-е

Физ уров - опис-е + ппредст. данн

Требования к БД

Неизбыт и непротивореч данных

При работе разл прилож в 1 прикл обл раб с собств Fs, то неизб дублиров. Т.к отс ср-ва согл data в прилож, они будут противор друг другу

К БД доп управл тип избыт, когда за непротивор следит СУБД

Пр – index files

Защита от прогр\аппар сбоев

Обесп by СУБД only

Логич сбои:

  • При попытке введения уже сущ данных в базу, СУБД должна по зн-ю ключ полей индеф эти данн и отвергн их.( err 1 го рода)

  • При попытке польз del obj ? на кот есть ссылки др. obj, СУБД должна отверг эту опер ( err 2го рода)

Физич сбои :

  • При прекр работы ОС, СУБД тоже прекр раб и если пров работы по преобр табл, часть данн lost

  • Структ БД долж быть такой, чтоб зап не завис друг от друга

( пр. – Excel . при удал 1 поля, выч поля уход в err)

  • Вед-е сист журнала – при вып преобр в БД, СУБД должна сохр в буф фаиле набор изм, дост для заверщ преобр поле rest СУБД

Защита от несанкц дост

1 уров – запаролев. При возм дост польз к непоср фамлам БД, - бесполезно

2 уров – Защита ОС своей FS ( win NT based\ linux) 3 уров - шифрование . примен при необх сохр секретн данн

3х уровн сист БД

Мобильн прогр – не зав. От ОС\ hardw

Если прикл прогр – мобильн+ независ от места\спос расп data в БД, то она удовл принц незав данных

Для обесп реализ принц незав data - сабж

  1. Физ опис\предст данн - содер info, необх для преобр зн-я поиск ключа в адр физ зап

  2. Глоб опис данн\ концепт модель данн – содерж опис схемы БД

  3. внешние схемы - опис данн в том виде, в кот они предст польз. Запаролены

Наиб подв изм при экспл 1\3 уров

СУБД. Опр, функции

СУБД – прогр, раб под упр ОС о соущ след функц :

  • обмен упр возд с прикл прогр и ОС в процессе перед данн из БД в прикл прогр и обратно

  • преобр данных в сист буфера в соотв с описанием внеш схем

  • обесп многопольз дост у данн

  • защита данн от несанкц доступа

Язык ср-ва для работы с БД

Для разр прилож м.б использ люб традиц яз прогр ( С\ PASCAL \ Basic \COBOL), Но средств для работы с БД в этих языкан недостат и эти языки дополн след компон :

  • ЯОД – язык опис дан – для форм внеш схем, счемы БД и форм физ опис –я

  • ЯМД – язык манипул данных - для вып опер чтения\поиска\ удал \ дополн\ модиф ( ADO \ BDE )

Способы реалииз ЯОД и ЯМД

  1. в кач-ве расшир традиц яз прогр( библиотеами \ добавл синт правильн констр ( ADABAS IBM-370)\ независ комп на др языке встр в текст прогр(VISTA) –треб перетрансляц)

  2. явл неотемл частью СУБД dBase, FoxPro

  3. независ не от яз прогр, не от СУБД. Треб стандарт на ЯОД и ЯМД (SQL)

Порядок вып опер при чтении данн из БД

  1. приклк прог : форм запрос (+ пароль) , указ имя внеш схемы -> СУБД

  2. СУБД: (пров pass), выбир по имени опис внеш схемы

  3. СУБД : анализир глобал логич опис, опр набор отн участ в реализ запроса ( логич оптимиз запроса)

  4. СУБД : анализ физ опис данных, опр наборов осн фаилов БД\index files , уч в реализ запр( физ оптимиз запроса)

  5. СУБД : форм послед комм чтен rec (grt put) и –> OC

  6. ОС: вып перед комм, перекач data из БД в сист буфера ( RAM)

  7. ?? : по 1 из схем произв преобр данн в сист буфера , при необх – форм новые комм чтен rec и вовзр на шаг 5 ( шаги 5-7 – в цикле)

  8. СУБД перекачивает данн из сист буферов в раб обл прикл прог –> прикл прог

При записи – аналог команды, поток идёт в обр направл

Недост декомпозиционного подхода

  • Невозм реш пробл синоним\омоним\ антоним

  • Неодноз опр понятий объекта и связей

  • Невозм реш пробл общих \изолир данных и данных пересеч-я

Элементы данных

Сабж – атомарный элем с опр типом( ФИО работн)

Тип ЭД опр при отобр на физ уров

Варианты неправ опр ЭД :

  1. посёлок – неизв, какие зн-я приниэ этот элем

  2. Ср з/п - вместо этого нужно хран элем выплаты кажд сотр, а <ср>\min\max должна выч п/п

  3. Возр пациента - в БД не воз событ, при кот изм этот парам

  4. стаж работы – вместо него исп стаж до поступл + дата принят на работу

Агрегаты

в БД допуск использ сост элем данн, если кол-во вход в них элем fix зн-я в них взаимозавис – такой тип данных – сабж

Пр – дата ( дд\мм\гггг)

Связи

Устан м/у элем данн и отраж колич соотн зн-ий связ элем данн

На схеме связи не имеют содерж, только колич зн-е

Изобр в виде дуги м/у 2мя элем данных и явл направл

Типы связей

  1. 1:1 - 1 зн-ю 1 элем данн соотв не более 1 зн-я 2го элем данн Обычно такими зн-ями явл эквив ключи

  2. М:1 – Множ – ву зн-ий 1го элем данных соотв не более 1 зн-я 2го элем данных

  3. 1:M - 1 зн –ю 1 элем данн соотв мн-во зн 2го элем данн

  4. М:М - мн-ву зн 1го элем соотв мн-во 2го элем данн

1,2 связь изобр

3,4 связь изобр

Правило склейки записей

Если от элемента А к элементу В уст связь 1\2 типов, то элем В присоед к элем А, образуя при этом логич запись, ключом которой является элемент А

Классификация наборов данных

Разл 3 осн модели данных - сетевые, иерархические и реляционные

По прав склейки почти всегда получ 1, реже 2 , совсем редко -3я.

Иерархические ( древовидные) модели

Дерево – множ-во узлов, среди кот есть 1, назыв корнем, остальные нах в попарнонепересек мн-вах, кажд из кот явл. Деревом

Стрелки в этой схеме м.б опущены, т.к поразум связь 1:М, от предка к потомкам

Дерево наз сбаланс, если кажд узел кроме листа им один кол-во потомков и разн м/у max\min путём не прив 1

Дерево – бинарное, если кажд его узел им <3 потомков

Сетевые модели данных

Если в схеме БД хотя бы 1 узел им >1 предка или из 1го узла вых 2 соед стрелки, то модель данных – сетевая

Схема назыв сложной сетевой если в ней присутств связь М:М от такой связи необх избав, т.к на физ уровне это означ, что сущ множ перекрёст ссылки

Правило преобр: если м\у 2мя лог зап устан связь М:М то ключевые поля этих записей выделяем в новую запись, связь М:М удал со схемы а м\у старыми 2мя и новой записями уст 2 связи типа 1:М

Общие данные - к ним прих сразу неск один стрелок.

Преобр аналог слож сетев

Данные пересеч-я

Сабж –если по прав склейки его нельзя присоед ни к 1 лог записи ( 2х стрелки) , но его зн-е однозначно опр зн-ем ключ полей, откуда прих стрелки

Прав преобр:

Созд запись , содерж зн-е тех ключ полей, откуда прих стрелки и данн пересеч-я присоед к этому типу

Изолированные поля

Сабж – если по прав склейки его нельзя присоед ни к 1 лог записи и его зн-е однознач не индеф ключ полями

Рекоменд: обычно сабж – характ объекта, для кот отсутст однознач идент в схеме БД. Необх ввести исскуств ключ для этого класса объектов и после восстан связей повт преобраз.

Преобр сетевых моделей к иерарх виду

Прав преобр :

Если какая-л лог запись им >1 предка, то созд дублей по кол-ву предков, содерж только ключ поля

Реляционные модели данных

Табл предст данных назыв сабжем, если:

- в табл не м\б 2 кортежа с один содерж

- все зн-я в табл – однор, т.е отобр 1 и ту же хар

- кажд столбец во всей схеме базы им уник наим и если наим столб совп, то они отобр 1 и ту же хар разн obj

- кажд табл в схеме отн долж им уник имя

- кажд элем табл – элем\агрег данных

- связи на схеме устан только за счёт одноим элем данн в табл

Если табл удовл всем 6и призн – она в 1 НФ

Преобр структ данных к реляц виду

  • Если м\у 2мя лог записями уст связь 1:М , то ключ поле 1го типа зап дополн во 2ой тип и стан неключев

Замеч : при доп новых свед в структ модель мы из иерарх мод получ сетевую и прикл прог придётся перепис т.к опер навиг будут неправ работ

При таком же дополн-е реляц модели такой ошибки не возн. => реляц мод наиб полно реализ принцип независ данных

Объединение

R=R1 U R2

Рез сожерж кортежи из R1 + текортежи из R2, которых нет в R1

Огр-е : K1=K2

SQL = UNION

Вычитание

R=R1 \ R2

В рез попад те кортежи из R1, Кот нет в R2

Огр-е : K1=K2

SQL – нет

Подобие – DELETE ( Из r1 те, Кот есть в R2

Декартово произведение

R=R1 x R2

Кажд кортеж из R1 состав с кажд кортежем из R2 и зап в табл.

Одноим аттриб получ расшир имена ( были A, B,C, стали R1.B, R2.B , etc)

Огр-е: нет

SQL : SELECT * FROM R1,R2

Селекция

R=δf (R1), где f- лог выраж-е зад над атр из R1

<имя атрибута> Θ <знач-е>

Θ = {=, <,>, ,¬,٨,٧,≤,≥,≠}

В результате оказ те кортежи, котор при подст в f дают зн-е TRUE

SQL: SELECT * FROM R1 WHERE f

(ака вырезка по строкам )

Проекция (Вырезка по столбцам)

R=∏x(R1), где х – мн-во аттр, явл подмнож аттр из R1

В результате запис кортежи сост из аттр х и сходн корт из R1

Не должно появ дублиров кортежей

SQL: SELECT DISTINCT FROM R1

Дополнительные операции РА

  • R1٨ R2=R1\( R1 \ R2) - пересечение

  • - соединение

Кажд кортеж из R1 подст к кажд кортежу из R2 и если зн-е TRUE ? то этот кортеж запис в результат

  • Эквисоединение – частн случай соединения, когда есть опер '=’

  • Естеств соединение – R=R1R2

Кажд кортеж из R1 сопост с кажд кортежем из R2, если зн-е всех одноим аттр совпад, то формир новый котеж, в кот зн-е всех одноим аттр в ед числе и доб в рез

Свойства операций РА( реляц алг)

  1. Коммутативность R1xR2=R2xR1, R=R1R2

  2. Ассоциативность R1x(R2xR3)=(R1xR2)xR3

R1(R2R3)=(R1R2) R3

  1. Проекция ∏x(R1 x R2)= ∏x1(R1)x ∏x2(R2)

  1. Селекции

f=F1٨F2, Форм F1 опр на аттр из R1, форм F2 опр на аттр из R2

Замеч-е : Св-ва опер нужны для форм опт запросов.

Проекция\селекция вып раньше дек. Пр-ия \ есств соед

Оптимиз – форм, т.к отсутств критерий

Функциональная зависимость

Дано : R, опр на мн-ве аттр U={A1,…An}

r – реализ схемы R

пусть кортеж t €r , тогда t[x] =Пх(t)

из этого кортежа выбир зн-е, соотв аттр х

опр : Мн-во аттр X опр мн-во аттр Y, где X,Y <=U если для любой реализ r схемы R вып t1,t2€ r и t1[x]=t2[x], тогда

t[X]=t[Y]

Замеч: сабж – осн вид огр целостности БД, кот не могут быть опр никакими алг способами. Опр только человеком, обл абстр мышл-ем

Свойства функциональной завис

  1. Правило лог следствия X→Y, Y→Z,=> X→Z

Сущ реализация r и 2 кортежа t1\t2 таких, что t1[x] = t2[x]

t1 [Z] ≠t2[Z]

теперь предп, что

  1. t1[Y]=t2[Y] => Y not(->) Z

  2. t1[Y] ≠t2[Y]=> X not(->) Y

доказывая от противного, получим, что усл выполн

  1. Рефлексия - X→Y выполн если Y – подмнож X ( Y≤X)

  2. Пополнение - Если X→Y и Z≤Y => XZ→YZ, XZ=XVZ

Доказ аналог 1

Мн-во ВСЕХ funct завис, вывод из F поср св-в – Функциональное замыкание мн-ва funct завис ( F+)

Вторая нормальная форма ( 2НФ)

Отн R опр на мн-ве аттр (A1,…An) и F – исх мн-во

Атртрибут B funct завис от мн-ва аттр X, если

X→B € F+ и ни для какого Y

y€X, Y→B € F+

Отн-е R нах во 2 НФ, если оно нах в 1нф и любой аттриб , не явл элем ключа,funct полн завис от любого первичного ключа R

Правила формирования 2НФ

  1. В мн-ве F объед funct завис с совпад левой частью

X →Ai, X→Aj => X→AiAj

  1. Форм декомпоз исх схемы R

Декопозиция : преобразование типа : разбив мн-во аттр U

На подмнож u1…un так, чтоб в них входили аттр из функц зависим ( в u1 – из 1 , etc)

Преимущества 2НФ над 1НФ

  • меньший объем данных

  • Нет необходимости удалять временно пустые записи

  • При изменении 1 записи нет необх просм всю табл

3НФ

R, U={A1…An}, А

Отношение R нах в сабже,если они нах в 2НФ и невып след усл-е:

Пусть X – первич ключ отн R, Y≤U и аттр , где

Преимущества 3НФ над 2НФ

Такие же , как у 2нФ над 1 НФ

Признак многозначной зависимости

При дополн такой записи в таблице необх допон ещё несколько записей

Факторы, влияющие на выбор физ орг БД

  1. Скорость поиска данных

  2. Скорость обновления данных

  3. Объём БД

  4. обслуживание ограничений целостности на данные

  5. Обеспечение многопользовательского доступа к данным

Макс времен затр в очереди на УВВ

Ввод→перед данных→[(лаг) ЦП↔{(большой лаг) УВВ, Стст буфера}]→перед данн→визуализ данн

Классификация методов доступа

  1. Последов\индексно – последов сетод – передаётся все или почти все зап БД ( от X %до 100%)

  2. индексно –послед \прямой метод\кжширование – при получ-е 1 записи

  3. мультисписки\инверт фаилы – получ от 0% до X% зап

Зн-е X - граница, кот опр встроенный в СУБД оптимизатор доступа. Если кол-во зап <X – исп index files, >X – послед пролист БД

Чем кач-ней оптимиз , тем выше зн-е X

В Oracle -25%

Соседние файлы в предмете Базы данных