Методы и алгоритмы трансляции естественно-языковых запросов к базе данных в SQL-запросы. Найханова Л.В - 58 стр.

UptoLike

58
),,(
r
tips
tсущностьстудентP утверждает, что термин студент∈Ξ
l
и является сущностью
базы данных, а предикат
),,(
r
tips
tатрибутфамилияP
утверждает, что термин фамилия∈Ξ
l
является
атрибутом базы данных;
2)
),),,...,((
1
r
tipks
tyxxtP - предикат, также задающий отношение типизации
r
tip
t ,
например, предикат
),),,((
r
tips
tатрибутдомашнийтелефонtP утверждает, что термины
телефон и домашний∈Ξ
l
и в совокупности составляют атрибут базы данных;
3) ),,(
r
trs
tyxP - предикат, задающий отношение перевода
r
tr
t , например, предикат
),,(
r
trs
tstudentстудентP
утверждает, что термин студент
∈Ξ
l
соответствует термину
student
∈Ξ
f
физической модели данных;
4)
),),,...,((
1
r
trks
tyxxtP
- предикат, задающий отношение перевода
r
tr
t
, например,
предикат ),),,((
r
trs
tnhtelдомашнийтелефонtP утверждает, что термины телефон и
домашний
∈Ξ
l
и в совокупности соответствуют термину nhtel∈Ξ
f
физической модели
данных;
5)
)),(),...,,(),...,,(,(
2
1
11
m
km
i
jikpar
vptvptvptxP - предикат, задающий отношение агрегации
r
agr
t между таблицей х и p
i
столбцом базы данных в терминах t∈Ξ
f
, а такжеотношение
характеризации между p
i
атрибутом сущности х и ее признаком v
i
j
. Например, предикат:
)),(),,(),,(),,(),,(),,(),,(,( vCodeSexthBirthDaythNamethFamilytvtCodeStudentvstCodeEducIntdNChildtChildStudP
par
утверждает, что таблица ChildStud∈Ξ
f
и включает в себя атрибуты NChild, CodeEducInst, CodeStudent, Family, Name, BirthDay, CodeSex,
каждый из которых имеет признак одного из трех типов: дифференциальный
d, характеристическийh или валентныйv, а предикат
)),(),,(,( hSextdCodeSextSprSexP
par
утверждает, что таблица SprSex∈Ξ
f
и включает в себя атрибуты CodeSex, Sex, которые имеют
дифференциальный и характеристический признаки соответственно.
Примеры приведенных предикатов соответствуют описанию фрагмента физической
модели данных, изображенному на рисунке 3.1.
Child Stu d
CodeEducIn s t: in t NOT NULL (FK)
CodeStudent: int NOT NULL (FK)
N
Child: int NOT NUL
L
Family: char(18) NULL
N
ame: char(18) NUL
L
BirthDay: datetime NULL
CodeSex: int NULL (FK)
CodeZ: int NULL
DateZ: datetime NULL
SprSex
CodeSex: int NOT NULL
Sex: char(7) NOT NULL
Рис. 3.1. Фрагмент физической модели данных «Контингент учащихся»
Представление таблиц в виде такого параметрического предиката позволяет также
показать их взаимосвязь. Для примера рассмотрим предыдущие два предиката:
)),(),,(,(2
)),,(),,(),,(),,(),,(),,(),,(,(1
hSextdCodeSextSprSexP
vCodeSexthBirthDaythNamethFamilytvtCodeStudentvstCodeEducIntdNChildtChildStudP
par
par
Они имеют общий атрибут CodeSex, при этом в таблице SprSex этот атрибут является
дифференциальным, а в таблице ChildStudвалентным. Это говорит о том, что таблицы
SprSex и ChildStud связаны через этот атрибут и при этом таблица SprSex является главной,
а ChildStudзависимой;
                          r
Ps (студент, сущность, t tip ) утверждает, что термин студент∈Ξl и является сущностью
                                                 r
базы данных, а предикат Ps (фамилия, атрибут, t tip ) утверждает, что термин фамилия∈Ξl
является атрибутом базы данных;
                                         r                                                      r
        2) Ps (t ( x1 ,..., x k ), y, t tip ) - предикат, также задающий отношение типизации t tip ,
                                                           r
например, предикат Ps (t (телефон, домашний ), атрибут, t tip ) утверждает, что термины
телефон и домашний∈Ξl и в совокупности составляют атрибут базы данных;
        3) Ps ( x, y, t trr ) - предикат, задающий отношение перевода t trr , например, предикат
Ps (студент, student , t trr ) утверждает, что термин студент∈Ξl соответствует термину
student∈Ξf физической модели данных;
        4) Ps (t ( x1 ,..., x k ), y, t trr ) - предикат, задающий отношение перевода t trr , например,
предикат          Ps (t (телефон, домашний), nhtel , t trr )                 утверждает,            что      термины           телефон           и
                     l                                                                                         f
домашний∈Ξ и в совокупности соответствуют термину nhtel∈Ξ физической модели
данных;
        5) Ppar ( x, t ( p1 , v 1k 1 ),..., t ( pi , v ij ),..., t ( p m , v km2 )) - предикат, задающий отношение агрегации
  r
t agr между таблицей х и pi столбцом базы данных в терминах t∈Ξf, а также – отношение
характеризации между pi атрибутом сущности х и ее признаком vij. Например, предикат:
Ppar (ChildStud , t ( NChild , d ), t (CodeEducInst , v), t (CodeStudent , v), t ( Family , h), t ( Name, h), t ( BirthDay , h), t (CodeSex, v))
 утверждает, что таблица ChildStud∈Ξf и включает в себя атрибуты NChild, CodeEducInst, CodeStudent, Family, Name, BirthDay, CodeSex,
каждый из которых имеет признак одного из трех типов: дифференциальный – d, характеристический – h или валентный – v, а предикат
Ppar ( SprSex, t (CodeSex, d ), t ( Sex, h)) утверждает, что таблица SprSex∈Ξ и включает в себя атрибуты CodeSex, Sex, которые имеют
                                                                             f


дифференциальный и характеристический признаки соответственно.
     Примеры приведенных предикатов соответствуют описанию фрагмента физической
модели данных, изображенному на рисунке 3.1.
                                              SprSex
                                               CodeSex: int NOT NULL
                                               Sex: char(7) NOT NULL

                                                                 ChildStud
                                                                  CodeEducInst: int NOT NULL (FK)
                                                                  CodeStudent: int NOT NULL (FK)
                                                                  NChild: int NOT NULL
                                                                  Family: char(18) NULL
                                                                  Name: char(18) NULL
                                                                  BirthDay: datetime NULL
                                                                  CodeSex: int NULL (FK)
                                                                  CodeZ: int NULL
                                                                  DateZ: datetime NULL

                 Рис. 3.1. Фрагмент физической модели данных «Контингент учащихся»

     Представление таблиц в виде такого параметрического предиката позволяет также
показать их взаимосвязь. Для примера рассмотрим предыдущие два предиката:
1 − Ppar (ChildStud , t ( NChild , d ), t (CodeEducInst , v), t (CodeStudent , v), t ( Family, h), t ( Name, h), t ( BirthDay, h), t (CodeSex, v)),
2 − Ppar ( SprSex, t (CodeSex, d ), t ( Sex, h))
      Они имеют общий атрибут CodeSex, при этом в таблице SprSex этот атрибут является
дифференциальным, а в таблице ChildStud – валентным. Это говорит о том, что таблицы
SprSex и ChildStud связаны через этот атрибут и при этом таблица SprSex является главной,
а ChildStud – зависимой;


                                                                       58