Nikitas N. Karanikolas, Maria Nitsiou, Emmanuel J. Yannakoudakis and Christos Skourlas

28
Nikitas N. Karanikolas, Nikitas N. Karanikolas, Maria Nitsiou, Maria Nitsiou, Emmanuel J. Yannakoudakis Emmanuel J. Yannakoudakis and Christos Skourlas and Christos Skourlas CUDL Language Semantics, CUDL Language Semantics, Liven Up the FDB Data Liven Up the FDB Data Model Model

description

CUDL Language Semantics, Liven Up the FDB Data Model. Nikitas N. Karanikolas, Maria Nitsiou, Emmanuel J. Yannakoudakis and Christos Skourlas. FDB framework. We have a new database framework that supports - PowerPoint PPT Presentation

Transcript of Nikitas N. Karanikolas, Maria Nitsiou, Emmanuel J. Yannakoudakis and Christos Skourlas

Page 1: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

Nikitas N. Karanikolas, Nikitas N. Karanikolas,

Maria Nitsiou, Maria Nitsiou,

Emmanuel J. YannakoudakisEmmanuel J. Yannakoudakis

and Christos Skourlasand Christos Skourlas

CUDL Language CUDL Language Semantics, Semantics,

Liven Up the FDB Data Liven Up the FDB Data ModelModel

Page 2: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FDB frameworkFDB frameworkWe have a new database framework that supports We have a new database framework that supports

dynamically evolving database environments and corresponding dynamically evolving database environments and corresponding schemata, allowing storage and manipulation of schemata, allowing storage and manipulation of

variable length datavariable length data, , a variable number of fields per record,a variable number of fields per record, variable length records, variable length records, manipulation of authority records,manipulation of authority records, links between records and fields, and links between records and fields, and dynamically defined objects (relations in the traditional sense)dynamically defined objects (relations in the traditional sense)multi-value fieldsmulti-value fieldsmulti-attribute fieldsmulti-attribute fields a combination of the last two abovea combination of the last two above

Eliminates completely the need for reorganisation at both Eliminates completely the need for reorganisation at both logical and internal levelslogical and internal levels

The structure of the FDB model allows easy schema evolutionThe structure of the FDB model allows easy schema evolution

Page 3: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FDB MODEL SCHEMAFDB MODEL SCHEMA

The The improvedimproved basic schema of the proposed framework has basic schema of the proposed framework has the following form (note that primary keys are underlined):the following form (note that primary keys are underlined):

• LanguagesLanguages ((language_idlanguage_id, lang_name), lang_name)• DatatypesDatatypes ((datatype_iddatatype_id, datatype_name), datatype_name)

• MessagesMessages ((message_id, languagemessage_id, language, message), message)

• Entities Entities ((frame_entity_idframe_entity_id, title), title)

• Tag_attributesTag_attributes ((entity, tagentity, tag, title, occurrence, , title, occurrence, repetition, repetition, authority, language, datatype, authority, language, datatype, length)length)

• Subfield_attributesSubfield_attributes ((entity, tag, subfieldentity, tag, subfield, title, occurrence, , title, occurrence, repetition, language, datatype, repetition, language, datatype,

length)length)

Page 4: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FDB MODEL SCHEMA FDB MODEL SCHEMA (CONT.)(CONT.)

• CatalogueCatalogue ((Entity, Frame_objectEntity, Frame_object__numbernumber, , Frame_object_label, Frame_object_label,

Temp_stamp)Temp_stamp)

• Tag_dataTag_data ((Entity, Frame_object, Tag, Repetition, Entity, Frame_object, Tag, Repetition, ChunkChunk, , Tdata)Tdata)

• Authority_linksAuthority_links ((From_entity, Auth_tag1From_entity, Auth_tag1, To_entity, , To_entity, Auth_tag2, mn_data_loc)Auth_tag2, mn_data_loc)

• Subfield_dataSubfield_data ((Entity, Frame_object, Tag, Tag_repetionEntity, Frame_object, Tag, Tag_repetion, , Subfield, Subfld_Repetition, ChunkSubfield, Subfld_Repetition, Chunk,sdata),sdata)

ONEONE database schema for any application database schema for any application

There are There are no new tablesno new tables for each new entity for each new entity

Page 5: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

Metadata of an FDB Metadata of an FDB database defining the database defining the

project entityproject entity

Frame_entity_idFrame_entity_id TitleTitle

11 11

…… ……

MessagesMessages

Message_idMessage_id LanguageLanguage MessageMessage

11 11 ProjectsProjects

22 11 Project_ Project_ codecode

33 11 TitleTitle

44 11 BudgetBudget

55 11 ActionsActions

66 11 Employee_ Employee_ codecode

77 11 ActionAction

88 11 DeadlineDeadline

……. . …….. ……..

Tag_attributesTag_attributes

EntityEntity TagTag TitleTitle OccurrenceOccurrence RepetitionRepetition AuthorityAuthority LanguageLanguage DatatypeDatatype LengthLength

11 11 22 MM NN NN 11 11 88

11 22 33 MM RR NN 11 11 3030

11 33 44 MM NN NN 11 22 NULLNULL

11 44 55 MM RR NN 11 66 NULLNULL

…… …… …… …… …… …… …… …… ……

EntitiesEntities

EntityEntity TagTag SubfieldSubfield TitleTitle OccurrenceOccurrence RepetitionRepetition LanguageLanguage DatatypeDatatype LengthLength

11 44 11 66 MM RR 11 11 88

11 44 22 77 MM NN 11 11 4040

11 44 33 88 MM NN 11 55 NULLNULL

…….. …….. …….. …….. …….. …….. …….. …….. ……..

Subfield_attributesSubfield_attributes

Page 6: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

Metadata explained of an FDB Metadata explained of an FDB database defining the project database defining the project

entityentity

Frame_entity_idFrame_entity_id TitleTitle

11 ProjectsProjects

…… ……

DatatypesDatatypes

Datatype_idDatatype_id Datatype_nDatatype_nameame

11 CharChar

22 IntInt

33 FloatFloat

44 DoubleDouble

55 DateDate

66 ComboCombo

……. . ……..

Tag_attributesTag_attributes

EntityEntity TagTag TitleTitle OccurrenceOccurrence RepetitionRepetition AuthorityAuthority LanguageLanguage DatatypeDatatype LengthLength

ProjectsProjects 11 Project_ Project_ codecode

MandatoryMandatory NoNo NoNo EnglishEnglish CharChar 88

ProjectsProjects 44 ActionsActions MandatoryMandatory RepetitonsRepetitons NoNo EnglishEnglish ComboCombo NULLNULL

…… …… …… …… …… …… …… …… ……

EntitiesEntities

EntityEntity TagTag SubfieldSubfield TitleTitle OccurrenceOccurrence RepetitionRepetition LanguageLanguage DatatypeDatatype LengthLength

ProjectsProjects ActionsActions 11Employee_ Employee_

codecodeMandatoryMandatory RepetitonsRepetitons EnglishEnglish CharChar 88

ProjectsProjects ActionsActions 22 ActionAction MandatoryMandatory NoNo EnglishEnglish CharChar 4040

ProjectsProjects ActionsActions 33 DeadlineDeadline MandatoryMandatory NoNo EnglishEnglish DateDate NULLNULL

…….. …….. …….. …….. …….. …….. …….. …….. ……..

Subfield_attributesSubfield_attributes

We have inserted the value NULL in the length attribute because in We have inserted the value NULL in the length attribute because in certain datatypes (such as int, date, etc) we can not define a specific certain datatypes (such as int, date, etc) we can not define a specific

lengthlength

Page 7: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

Complicated in useComplicated in use

The framework is complicated and the The framework is complicated and the management and operation of it is management and operation of it is

difficult, laborious and time-consumingdifficult, laborious and time-consumingIt requires from the user a very good It requires from the user a very good

acquaintance of the acquaintance of the proposed framework, proposed framework,

the structures and organisation of it the structures and organisation of it (metadata (metadata andand data) data)

the processes of the management of the the processes of the management of the elements that compose it. elements that compose it.

Page 8: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

CUDL LanguageCUDL Language ((CConceptual onceptual UUniversal niversal DDatabase atabase

LLanguage)anguage) The CUDL language uses simple statementsThe CUDL language uses simple statements

to manipulate the applications that have been to manipulate the applications that have been created based on the proposed FDB frameworkcreated based on the proposed FDB framework

With CUDL the userWith CUDL the userwill not be compelled to know in-depth all the details will not be compelled to know in-depth all the details

of the structure of information that are supported of the structure of information that are supported by this modelby this model

TThe user conceives the he user conceives the datadata as a extension of as a extension of the the

relationalrelational model with fields of variable length model with fields of variable length,, multiple multiple valuesvalues,, subfields, subfields, table in the table in the placeplace of of a a

fieldfield value value, etc , etc

Page 9: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

CUDL languageCUDL language

The CUDL language The CUDL language undertakes the undertakes the management of the complicated management of the complicated

structures of the FDB model structures of the FDB model

By the use of CUDL, access in the By the use of CUDL, access in the information of an FDB application information of an FDB application becomes very simple with the use becomes very simple with the use of of particularlyparticularly simple statements. simple statements.

Page 10: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

How the user conceives the How the user conceives the structure of a project frame structure of a project frame

(tuple)(tuple)

Project_codeProject_code Proj001Proj001

TitleTitle Dept ADept A

BudgetBudget 300,000300,000

ProjectsProjects

Employee_ Employee_ codecode

ActionAction DeadlineDeadline

Emp01Emp01 Software analysisSoftware analysis 17/10/200717/10/2007

Emp04Emp04 Software Software requirementsrequirements

22/01/200822/01/2008

Emp12Emp12

Emp13Emp13Program codeProgram code 23/04/200823/04/2008

ActionsActions

Page 11: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

The language deals The language deals withwith

Schema definitionSchema definition, to declare the structures, , to declare the structures, integrity constraints, and access privileges of a integrity constraints, and access privileges of a databasedatabaseScSchema manipulationhema manipulation, to alter a schema definition, to alter a schema definitionData manipulationData manipulation, to populate a database and , to populate a database and access access FDB FDB datadataTransaction managementTransaction management, to define and manage , to define and manage FDB FDB transactionstransactionsConnection managementConnection management, to establish and manage , to establish and manage FDB FDB connectionsconnectionsSession managementSession management, to set the attributes of an , to set the attributes of an FDB FDB sessionsession

Page 12: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

ScSchema and Data hema and Data Manipulation LanguageManipulation Language

We will focus on theWe will focus on the Schema and Data Manipulation LanguageData Manipulation Language

Both aspects of the language use variations of the Both aspects of the language use variations of the statements:statements:

FIND FIND ALTER ALTER

DELETE DELETE ADDADD

to manipulate values from the to manipulate values from the meta-data and meta-data and

data setsdata sets of the modelof the model

Page 13: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FindFindThe most frequently used operation in data sources is the data The most frequently used operation in data sources is the data

retrieval operation which retrieves instances from a set retrieval operation which retrieves instances from a set

The FIND statement specifies which instances to include in the The FIND statement specifies which instances to include in the result set and it is used to retrieve zero or more instances result set and it is used to retrieve zero or more instances

from one or more sets in a data source from one or more sets in a data source

In specifying a FIND query, the user In specifying a FIND query, the user specifies a description of specifies a description of the desired result setthe desired result set,,

but he does but he does notnot specify what physical operations must be specify what physical operations must be executed to produce that result set.executed to produce that result set.

The result from the implementation of a FIND statement is a The result from the implementation of a FIND statement is a new new virtualvirtual set that contains the elements that were asked set that contains the elements that were asked

by the user or the value NULL, if no values meet the by the user or the value NULL, if no values meet the requirements of the Find statement.requirements of the Find statement.

Page 14: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FindFind1.1. Find values in the meta-data setsFind values in the meta-data sets

(example 1)(example 1)

# # Find tag_attributes when title = ‘DVD_code’Find tag_attributes when title = ‘DVD_code’

Entity Tag Title Occurrence Repetition Authority Language Datatype Length

Videos 4 DVD_code M N N English Char 6

Customer 5 DVD_code M R N English Char 6

Page 15: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FindFind1.1. Find values in the meta-data setsFind values in the meta-data sets

(example 2)(example 2)

# # Find tag_attributes when entity = ‘customer’ and Find tag_attributes when entity = ‘customer’ and repetition=‘r’ and datatype=‘char’repetition=‘r’ and datatype=‘char’

Entity Tag Title Occurrence Repetition Authority Language Datatype Length

Customer 5 DVD_code

M R N English Char 6

Page 16: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FindFind2.2. Find values in the data setsFind values in the data sets

(example 1)(example 1)

# Find data when entity = ‘customer’ and tag =‘cust_code’# Find data when entity = ‘customer’ and tag =‘cust_code’

Entity Frame_object Tag Repetion Chunk Tdata

customer 1 cust_code 1 1 Cust0001

2 1 1 Cust00023 1 1 Cust0003

4 1 1 Cust0004

Informally this statement takes the sequence of all customers and creates a Informally this statement takes the sequence of all customers and creates a sequence of their ‘cust_code’. The result of typing in this query is that a sequence of their ‘cust_code’. The result of typing in this query is that a

sequence of ‘cust_CODE’ is printed out.sequence of ‘cust_CODE’ is printed out.

Page 17: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

FindFind2.2. Find values in the data setsFind values in the data sets

(examples 2, 3, 4)(examples 2, 3, 4)

# Find data when entity = ‘videos’ and tag = ‘title’# Find data when entity = ‘videos’ and tag = ‘title’This statement retrieves the titles of the videos (the projected field is ‘title’). This statement retrieves the titles of the videos (the projected field is ‘title’).

# Find data when entity = ‘videos’ and tag = ‘title’ frame# Find data when entity = ‘videos’ and tag = ‘title’ frameNotice that by adding the keyword frame we take all the data of all the tags for Notice that by adding the keyword frame we take all the data of all the tags for

every frame that meets the user requirements. The condition and tag=‘title’ every frame that meets the user requirements. The condition and tag=‘title’ is is unnecessary and can be excluded from the statement.unnecessary and can be excluded from the statement.

# Find data when entity = ‘videos’ and tag = ‘title’ restr # Find data when entity = ‘videos’ and tag = ‘title’ restr data like ‘M%’ and tag = ‘year’ restr data = ‘2003’data like ‘M%’ and tag = ‘year’ restr data = ‘2003’

We have to mention that the conditions can be composed by We have to mention that the conditions can be composed by aa where part and a where part and a restriction part. For example the condition and tag = ‘title’ restr data like ‘Mrestriction part. For example the condition and tag = ‘title’ restr data like ‘M%’ has a where part tag = ‘title’ and a restriction part restr data like ‘M%’. %’ has a where part tag = ‘title’ and a restriction part restr data like ‘M%’.

The fields that take place in the where part of the conditions also participate The fields that take place in the where part of the conditions also participate in the results (projected fields).in the results (projected fields).

Page 18: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

AddAdd

The ADD statement specifies which values to include in a The ADD statement specifies which values to include in a database setdatabase set

In specifying an ADD query, the user In specifying an ADD query, the user specifies the desired specifies the desired values to be inserted in a specific desired setvalues to be inserted in a specific desired set,,

but he does but he does notnot specify what physical operations must be specify what physical operations must be executed for the insertionexecuted for the insertion

The result from the implementation of an ADD statement isThe result from the implementation of an ADD statement is a new augmented set that contains also the new elements a new augmented set that contains also the new elements

that were asked by the user orthat were asked by the user ormerely the old set if the new values can not de addedmerely the old set if the new values can not de added

Page 19: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

AddAdd1.1. Addition of meta-dataAddition of meta-data

Let us for example assume that there is no tag ‘language’ for the Let us for example assume that there is no tag ‘language’ for the entity ‘videos’. The statement ientity ‘videos’. The statement in the CUDL languagen the CUDL language ::

# Add# Add tag_attributes entity = ‘videos’ title = ‘language’ tag_attributes entity = ‘videos’ title = ‘language’

will result in the tuple shown in Table 5 stored in the tag attributes will result in the tuple shown in Table 5 stored in the tag attributes set.set.

Entity Tag Title Occurrence Repetition Authority Language Datatype Length

1 7 9 O R N 1 1 100

Page 20: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

AddAdd2.2. Addition of dataAddition of data

(example of the creation and population of a (example of the creation and population of a whole frame)whole frame)

# Add# Add data set 'title' = ' A Movie ' when entity = ‘videos’ new data set 'title' = ' A Movie ' when entity = ‘videos’ new frameframe

# Add data set 'year' = '2007' when entity = ‘videos’ and tag # Add data set 'year' = '2007' when entity = ‘videos’ and tag = ‘title’ restr data = ‘A Movie’ = ‘title’ restr data = ‘A Movie’

……# Add # Add data set ‘actor1’ = ‘Aldata set ‘actor1’ = ‘Al Patsino Patsino’ when entity = ‘videos’ ’ when entity = ‘videos’

and tag = ‘title’ and tag = ‘title’ restr data = ‘A Movie’ restr data = ‘A Movie’ # Add data set ‘actor2’ = ‘Robert DeNiro’ when entity = # Add data set ‘actor2’ = ‘Robert DeNiro’ when entity = ‘videos’ and subfield = ‘actor1’ ‘videos’ and subfield = ‘actor1’ restr data = ‘Alrestr data = ‘Al Patsino’ Patsino’

Note that by adding the key-phrase Note that by adding the key-phrase ‘new frame’‘new frame’ the data are inserted in a new frame. the data are inserted in a new frame. Otherwise if those keywords are omitted the data are inserted in an already existing Otherwise if those keywords are omitted the data are inserted in an already existing

frame that the user must specify by adding the keywords when tdata = ‘<some frame that the user must specify by adding the keywords when tdata = ‘<some value>’. If the user does not use the specification referred above then a suitable value>’. If the user does not use the specification referred above then a suitable

message is presented to him and the statement is not executed.message is presented to him and the statement is not executed.

Page 21: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

DeleteDelete

The DELETE statement specifies which values to exclude from The DELETE statement specifies which values to exclude from a database seta database set

In specifying a DELETE query, the user In specifying a DELETE query, the user specifies the desired specifies the desired values to be removed from a specific setvalues to be removed from a specific set,,

but he does but he does notnot specify what physical operations must be specify what physical operations must be executed for the removalexecuted for the removal

The result from the implementation of a DELETE statement isThe result from the implementation of a DELETE statement is a new set that does not contain the elements that the user a new set that does not contain the elements that the user

asked to be removed orasked to be removed orthe old set if the values can not de removedthe old set if the values can not de removed

Page 22: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

DeleteDelete1.1. Deletion from a metadata set:Deletion from a metadata set:

# Delete # Delete tag_attributes when entity = ‘videos’ and title tag_attributes when entity = ‘videos’ and title

= ‘actors= ‘actors’’

This will result in the deletion from the set tag_attributes of all the This will result in the deletion from the set tag_attributes of all the values that correspond to the combination of the entity ‘videos’ and values that correspond to the combination of the entity ‘videos’ and the tag (title) ‘actors’. the tag (title) ‘actors’. In the simplified relational view that the user conceives these In the simplified relational view that the user conceives these statements remove the field actors from the table videos. statements remove the field actors from the table videos. The deletion will The deletion will only occuronly occur under the condition that there do not exist under the condition that there do not exist data for the ‘actors’ tag and also the specified tag does not data for the ‘actors’ tag and also the specified tag does not participate in any authority link (set authority_links).participate in any authority link (set authority_links).

Page 23: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

DeleteDelete2.2. Deletion from a data set:Deletion from a data set:

# # DDelete data ‘category’ when entity = ‘videos’ and tag elete data ‘category’ when entity = ‘videos’ and tag = ‘DVD_code’ restr tdata = ‘= ‘DVD_code’ restr tdata = ‘Vid01Vid01’’

## D Delete data whole_frame when entity = 'videos' and elete data whole_frame when entity = 'videos' and tag = 'DVD code' restr data = 'Vid01‘tag = 'DVD code' restr data = 'Vid01‘

We have to mention that the set ‘catalogue’ is affected as well, by We have to mention that the set ‘catalogue’ is affected as well, by this delete statement. As this delete statement. As the the set catalogue is used to keep the set catalogue is used to keep the values of the entity and each frame for this entity that the set values of the entity and each frame for this entity that the set tag_data contains, since a whole frame from the set tag_data tag_data contains, since a whole frame from the set tag_data was erased the corresponding entity and frame from the set was erased the corresponding entity and frame from the set

catalogue should be erased too.catalogue should be erased too.

Page 24: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

AlterAlter

The ALTER statement specifies which values to alter in a The ALTER statement specifies which values to alter in a database setdatabase set

In specifying a ALTER query, the user In specifying a ALTER query, the user specifies the desired specifies the desired values to be modified from a specific setvalues to be modified from a specific set,,

but he does but he does notnot specify what physical operations must be specify what physical operations must be executed for the modificationexecuted for the modification

The result from the implementation of an ALTER statement isThe result from the implementation of an ALTER statement is a new set that does not contain the altered elements that the a new set that does not contain the altered elements that the

user asked for oruser asked for orthe old set if the values can not de modifiedthe old set if the values can not de modified

Page 25: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

AlterAlter

1.1. Alter values in a metadata setAlter values in a metadata set

# # Alter tag_attributes set occurrence = ‘Alter tag_attributes set occurrence = ‘MM' when ' when entity = ‘customer’ and title = ‘addressentity = ‘customer’ and title = ‘address’’

Page 26: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

AlterAlter2.2. Alter values in a data setAlter values in a data set

# # Alter data set ‘title’ = ‘Movie1’ when entity = Alter data set ‘title’ = ‘Movie1’ when entity = ‘videos’ and tag= ‘DVD_code’ restr data = ‘Vid01’ ‘videos’ and tag= ‘DVD_code’ restr data = ‘Vid01’

and tag = ‘title’ restr data = ‘A Movie’and tag = ‘title’ restr data = ‘A Movie’

This statement modifies the data value of the tag title ‘This statement modifies the data value of the tag title ‘A Movie’ to A Movie’ to the data value ‘Movie1’ . This will only occur under the the data value ‘Movie1’ . This will only occur under the

condition that the specified tag (in the specified frame) has no condition that the specified tag (in the specified frame) has no tag repetitions under the tag titletag repetitions under the tag title

Page 27: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

ConclusionsConclusionsThe The FDB modelFDB model can form the basis for the can form the basis for the

creation and maintenance of dynamically creation and maintenance of dynamically evolving database environmentsevolving database environments

TheThe CUDL languageCUDL language

undertakes the management of the undertakes the management of the complicated complicated structures of the FDB modelstructures of the FDB model

and the user experiencesand the user experiences a simple a simple extension of the relational model with the extension of the relational model with the

usage of very simple statements usage of very simple statements

Page 28: Nikitas N. Karanikolas,  Maria Nitsiou,  Emmanuel J. Yannakoudakis and Christos Skourlas

Thank you for your attention !!!

Thank you for your attention !!!

[email protected]

[email protected]