Иерархический и сетевой подходы

Для организации поиска нужных записей используются понятия ключа и связи.

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

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

Хэш-функция производит пересчет ключа в адрес записи на файле. Эта операция осуществляется СУБД всякий раз при поиске новой записи по ключу.

[NN5]

Реляционный подход

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

Декартовым произведением доменов D1, D2,..,Dk

D1*D2*....*Dk,

где

Иерархический и сетевой подходы - student2.ru

Иерархический и сетевой подходы - student2.ru

..........................................

Иерархический и сетевой подходы - student2.ru

называется множество всех кортежейдлины k, т.е. состоящих из k элементов - по одному из каждого домена Иерархический и сетевой подходы - student2.ru

Таким образом, декартово произведение

Иерархический и сетевой подходы - student2.ru

Пример (рис.6.1).

Если D1={A, 2}, D2={B, C} D3={4, 5, D}, то k=3 и соответственно декартово произведение D= D1 * D2 *D3 ={(A,B,4),(A,B,5),(A,B,D),

(A,C,4),(A,C,5),(A,C,D),

(2,B,4),(2,B,5),(2,B,D),

(2,C,4),(2,C,5),(2,C,D)}.

Отношением R на множествах D1,D2,...,Dk называется подмножество декартова произведения D1*D2*....*Dk, то есть R , определенное на множествах D1*D2*....*Dk есть некоторое множество кортежей: Иерархический и сетевой подходы - student2.ru

Атрибутом А называется некоторе подмножество домена D. Например, для домена D3 атрибутом может быть A3=(4,5).

Для рассмотренного примера отношения имеют следующий вид

Иерархический и сетевой подходы - student2.ru

Иерархический и сетевой подходы - student2.ru

Иерархический и сетевой подходы - student2.ru

Иерархический и сетевой подходы - student2.ru

Иерархический и сетевой подходы - student2.ru .

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

R1

A B
A C

R2

C

R3

C D
A B
A B
B D

Реляционное исчисление

Реляционное исчисление базируется на теоретических основах исчисления предикатов. Предикат P(x1,x2,...,xn) это функция, принимающая значения «Истина» или «ложь», от аргументов, определенных в конкретных областях D1,D2,...,Dn. При построении высказываний используются логические связки, например

Иерархический и сетевой подходы - student2.ru конъюнкция, дизъюнкция, отрицание,

термы сравнения с операциями

Иерархический и сетевой подходы - student2.ru и др., а также кванторы существования Иерархический и сетевой подходы - student2.ru и общности Иерархический и сетевой подходы - student2.ru .

Рассмотрим пример применения кванторов. Высказывание - Иерархический и сетевой подходы - student2.ru означает-что среди элементов множества X найдется, по крайней мере, один, при котором оказывается истинным неравенство, заключенное в скобках. Высказывание Иерархический и сетевой подходы - student2.ruозначает, что для всех элементов множества X некоторая функция f(x) больше заданного a.

В реляционном исчислении принято связывать отношением R(A1,...,An) некоторый предикат P(x1,...,xn), аргументы, которых имеют одинаковые области определения, таким образом, что если P(a1,a2,...,an)=1, то кортеж <a1,a2,...,an> принадлежит отношению , для i=1,n, в противном случае кортеж не входит в состав указанного отношения. Отсюда следует, что посредством задания некоторого предиката может быть задано и соответствующее ему отношение.

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

 
  Иерархический и сетевой подходы - student2.ru

D1

A 2

D2 D2

B C B C

D3 D3 D3 D3 5 D 4 5 D 4 5 D 4 5 D

A,B,4 A,C,4 2,B,4 2,C,4

A,B,5 A,C,5 2,B,5 2,C,5

A,B,D A,C,D 2,B,D 2,C,D

Рис.6.1.Графическая интерпретация получения декартова произведения

[NN6] Лекция 6. ЛИНГВИСТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ САПР

Лингвистическое обеспечение САПР представлено совокупностью языков, применяемых для описания процедур автоматизированного проектирования и проектных решений. Основная часть лингвистического обеспечения САПР- языки общения человека с ЭВМ.

В соответствии с принятой классификацией языков САПР(рис.7.1) различают языки программирования и проектирования.

 
  Иерархический и сетевой подходы - student2.ru

Языки САПР

программирования проектирования

выходные промежуточные входные внутренние сопровождения

описания описания

объектов заданий

схемные графические моделирования

Рис.7.1. Классификация языков САПР

7.1. Языки программирования

Языки программирования- языки, предназначенные для написания программного обеспечения. Эти языки - средство разработчика САПР.

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

Удобство использования выражается в затратах времени программиста на освоение языка и главным образом на написание программ на нем.

Универсальность определяется возможностями языка для описания разнообразных алгоритмов, характерных для программного обеспечения САПР.

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

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

Среди алгоритмических языков высокого уровня, созданных на ранних этапах развития вычислительной техники, наибольшее распространение получил Фортран. Он легок в освоении и весьма эффективен при решении задач численного анализа. Программное обеспечение таких систем как PARIS, ModAPT-Caspa, APT-CM написаны на языке Фортран. Однако Фортран имеет ограниченные возможности для описания сложных алгоритмов логического характера. Поэтому при создании таких программ, как мониторы или языковые процессоры, используют либо языки ассемблера, либо языки высокого уровня с более развитыми возможностями невычислительных процедур- C, Pascal, Pl-1, Ada.

7.2. Языки проектирования

Языки проектирования- языки, предназначенные для описания информации об объектах и задачах проектирования. Большинство этих языков относится к средствам пользователя САПР.

Наши рекомендации