Data Modeling using XML. Murali Mani, WPI Antonio Badia, University of Louisville Oct 13, 2003

Size: px
Start display at page:

Download "Data Modeling using XML. Murali Mani, WPI Antonio Badia, University of Louisville Oct 13, 2003"

Transcription

1 Data Modeling using XML Murali Mani, WPI Antonio Badia, University of Louisville

2 Outline Part I: How to come up with good XML designs for real world database applications? Part II: Translation between Relational and XML models.

3 Part I: How to come up with good XML designs for real world database applications?

4 What is XML? <book> <author>j. E. Hopcroft</author> <author>j. D. Ullman</author> <publisher name= Addison-Wesley /> </book> book author author publisher J. E. Hopcroft J. D. Ullman name= "Addison- Wesley"

5 XML for information exchange

6 XML Publishing Text applications Database applications X gave two <person> <reviewer>x</reviewer> thumbs up rating <Name>A</name> Age Salary gave <rating>two thumbs to the movie XML <Age>25</Age> A up</rating> to <movie> Fugitive, The <Salary>20000</Salary> B Fugitive, The</movie> </person> <person> <Name>B</name> <Age>62</Age> <Salary>140000</Salary> </person>

7 Publishing Relational Databases Name A B Age Salary <person> <Name>A</name> <Age>25</Age> </person> Users/Applications see a uniform XML view Exchange data with other applications Querying XML is easier? Problem: What is a good XML schema for a relational schema?

8 XML for Data Modeling Location GPS) GPS gps Location Bstation*) Bstation Location (GPS Bstation*))

9 XML as a logical data model Location location (GPS Bstation*)) Use data modeling features provided by XML Union types Recursive types Ordered relationships Easier to Query? Problems: What is a good XML schema for an application? How do we store the data in relational databases?

10 XML for data integration Source1 Browse Query, Update XML Wrapper Source2 SourceN

11 Database Design Stages Application Requirements Conceptual Design Conceptual Schema Logical Design Logical Schema Physical Design Physical Schema

12 Logical Data Model and Redundancy Bad Design Student_Professor Professor sname BS advisor age pname age SD CS MXM 40 MXM 40 YC EE MXM 40 Student sname BS advisor SD CS MXM YC EE MXM Good Design Person name address city state zip AV A1 Los An CA AN A2 Los An CA 90034

13 What is a Data Model? Structural Specification Constraint Specification Operations

14 Entity Relationship (ER) Model Structures: Entity Types, Relationship Types Constraints: Cardinality constraints Professor (0,*) (1,1) Advisor Student pname age year sname

15 Relational Model Structures: Relations Constraints: Key, Foreign Key Professor pname age Student sname advisor Key Constraints: Key (Professor) = <pname> Key (Student) = <sname> Foreign Key Constraints: Student (advisor) references Professor (pname)

16 Specifying Structures for XML G = (N, T, P, S) N = {Book, Author, Publisher, #PCDATA} T = {book, author, publisher, pcdata} S = {Book} Book book (Author +, Publisher) Author author (#PCDATA) Publisher publisher (@name::string) #PCDATA pcdata (ε) Regular Tree Grammar Every production rule is of the form A a X A N, a T, X is a regular expression over N book author author publisher J. E. Hopcroft J. D. Ullman name= "Addison- Wesley"

17 XML Schema Language Proposals W3C DTD: local tree grammar W3C XML Schema: single type tree grammar ISO/OASIS RELAX NG: full-fledged regular tree grammar

18 Properties of different Regular Tree Grammar classes Expressiveness Regular tree grammar strictly more expressive than single type tree grammar Single type tree grammar strictly more expressive than local tree grammar Closure properties Regular tree grammar closed under union, intersection and difference Single type tree grammar/local tree grammar closed only under intersection Type assignment Type assignment can be ambiguous for regular tree grammar. Type assignment is unambiguous for local tree grammar/single type tree grammar.

19 Ambiguous Type Assignment G = (N, T, P, S) N = {Book, Author1, Author2, Publisher, #PCDATA} T = {book, author, publisher, pcdata} S = {Book} Book book (Author1*, Author2*, Publisher) Author1 author (#PCDATA) Author2 author (#PCDATA) Publisher publisher (@name::string) #PCDATA pcdata (ε) book author author publisher J. E. Hopcroft J. D. Ullman name= "Addison- Wesley"

20 Constraint Specification for XML why? If we represent all relationships only by hierarchies, then the logical model will have redundancy. Person (0,*) (0,*) Review Book name zip rating ISBN title year What constraint specification? Key, Foreign Key ID/IDREF

21 Specifying Constraints for XML: Example library name= "RRM" person person name= "CZ" book book paper ISBN= "I1" title= "T1" BID= "B1" ISBN= "I2" title= "T2" BID= "B2" title= "T1" journal ="J1" PID= "P1" review review review review article ="P1" rating ="9" article ="B2" rating ="9" article ="B1" rating ="9" article ="B2" rating ="10"

22 Specifying Constraints for XML Keys are specified using (rel, sel, field) rel is relative axis sel is selector axis field is a set of path expressions For any element that belongs to rel, sel will give a set of elements. For this set of elements, field is the key. rel and sel can be types or path expressions Foreign keys are specified as (rel 1, sel 1, field 1 ) references (rel 2, sel 2, field 2 )

23 Constraint Specification Proposals W3C XML Schema Relative axis = type Selector axis = path expression Keys for XML WWW10 Relative axis = path expression Selector axis = path expression UCM WWW10 No relative axis Selector axis = type

24 Our proposal Relative axis = type Selector axis = type IDREF and IDREFS identify target types

25 Example library name= "RRM" person person name= "CZ" book book paper ISBN= "I1" title= "T1" BID= "B1" ISBN= "I2" title= "T2" BID= "B2" title= "T1" journal ="J1" PID= "P1" review review review review article ="P1" rating ="9" article ="B2" rating ="9" article ="B1" rating ="9" article ="B2" rating ="10" (Library, Person, (Library, Book, (Library, Paper, (Person, references (Book Paper)

26 Why use XML as logical data model?

27 Path Expressions vs Joins Professor pname age MXM CZ university Student sname year advisor pname="mxm" age="40" professor professor pname="cz age="55" SD 1998 MXM student student student YC FC MXM CZ sname ="SD" year= "1998" sname ="YC" year= "2000" sname ="FC" year= "1999" Student (advisor) references Professor (pname) Query: Give names of students of professors of age 40 π name ((σ age=40 (Professor)) Student) professor

28 Union Types - attributes name AV AN Person city state Los A CA null null zip null Person person university person person name ="AV" city= "Los A" state = CA name ="AN" zip= 90034

29 Union Types - Relationships name RRM CZ Person zip Person person (Book* Paper*)) ISBN I1 I2 Book title T1 T2 author RRM RRM library title T1 Paper journal J1 author CZ name= "RRM" person zip= "01609" name= "CZ" person zip= "90095" book book paper ISBN= "I1" title= "T1" ISBN= "I2" title= "T2" title= "T1" journal ="J1"

30 Union Types - Relationships Conference name ER Journal name TOIT venue Chicago publisher ACM title T1 T2 inst WPI UCLA Paper conf ER null journal null TOIT Conference conference Paper*) Journal journal Paper*) library name= "ER" conference venue= "Chicago" name= "TOIT" journal publisher ="ACM" paper paper title= "T1" inst= "WPI" title= "T2" inst= "UCLA"

31 Recursive Types Assembly assembly name seat superpart frame qty 1 name=bike qty=0 part tire frame wheel bike 1 1 name=frame qty=1 part part name=wheel qty=2 wheel bike bike null 2 0 name=seat qty=1 part part name=tire qty=1 WITH RECURSIVE SubPart (name) AS (SELECT name FROM Assembly WHERE superpart=bike) UNION (SELECT R2.name FROM SubPart R1, Assembly R2 WHERE R2.superPart = R1.name) SELECT * FROM SubPart Query: What are subparts of bike? part[@name=bike]//part/@name

32 IDREF vs Foreign Keys Professor name age MXM 40 CZ 55 Student name year advisor name= "MXM" professor age= "40" PID= "P1" university name= "CZ" professor age= "55" PID= "P2" SD 1998 MXM student student student YC FC MXM CZ name= year= "SD" "1998" PRef ="P1" name= year= "YC" "2000" PRef ="P1" name= "FC" year= "1999" PRef ="P2" Student (advisor) references Professor references (Professor) Query: Give names of students of professors of age 40

33 IDREF as union of foreign keys ISBN I1 I2 title T1 Book title T1 T2 journal J1 name RRM Paper CZ Review Person zip name book paper rating RRM null T1 9 CZ I1 null 9 CZ I2 null 10

34 IDREF as union of foreign keys library name= "RRM" person zip= "01609" name= "CZ" person zip= "90095" book book paper ISBN= "I1" title= "T1" BID= "B1" ISBN= "I2" title= "T2" BID= "B2" title= "T1" journal ="J1" PID= "P1" review review review article ="P1" rating ="9" article ="B1" rating ="9" article ="B2" rating references (Book Paper)

35 Conceptual Model: ERex (ER extended for XML)

36 Entity Relationship (ER) model Entity Types, Relationship Types and their attributes Professor (0,*) (1,1) Advisor Student pname age year sname

37 Object Role Modeling (ORM) closer to natural language sentences attributes/relationships are expressed uniformly using roles Student (sname) age has Professor (pname) is advisor of for Years (year)

38 Unified Modeling Language (UML) Modeling software systems Class Diagrams, Association Classes Professor pname age * Student sname Advisor years

39 From ER model Binary 1:n relationships Professor (0,*) (1,1) Advisor Student pname age year sname Person (0,*) (0,*) Review Book Binary m:n relationships name zip rating ISBN title year

40 From ER Model quantity N-ary relationships Company (1,*) (0,*) Supplies City (0,*) name Product name name superpart (0,*) Contains Recursive relationships Part subpart (0,1) name qty

41 Ordered Relationships Person (0,*) (1,1) Author Book name zip ISBN title Person name zip Ullman RRM Book ISBN title order B1 DB 2 B2 Aut 1 B3 MMSL 1 author Ullman Ullman RRM

42 Categories and Set Constraints name Person PersonCity PersonZip PersonCity PersonZip = PersonCity PersonZip = Person city state zip

43 Categories name Person (0,*) Review (0,*) Article Book Paper

44 Set constraints on Roles (0,*) personbook AuthorOf (1,1) Book name Person (0,*) personpaper AuthorOf (1,1) Paper personbook personpaper =

45 Set Constraints on Roles name venue Conference (0,*) Presented (0,1) confpaper Paper title name publisher Journal (0,*) Published (0,1) journalpaper confpaper journalpaper = confpaper journalpaper = Paper

46 Translating ERex schemas to XML schemas

47 System Architecture ERex Schemas Translator XML Schemas Final XML Schema Schema Designer

48 1:n relationships Professor (0,*) (1,1) Advisor Student pname age year sname

49 Representing 1:n Relationships - subelement Professor name RRM CZ name MM YC FC age Student year advisor RRM RRM CZ Student (advisor) references Professor (name) name="rrm" age="62" name= "MM" student year= "1998" professor name= "YC" university student year= "2000" professor name= "FC" student University university (Professor*) Professor professor Student*) Student student (University, Professor, <@name>) (University, Student, <@name>) year= "1999" name="cz" age="55"

50 Representing 1:n Relationships - IDREF Professor name age university RRM 62 professor professor CZ 55 Student name= "RRM" age= "62" PID= "P1" name= "CZ" age= "55" PID= "P2" name year advisor student student student MM YC RRM RRM name= year= "MM" "1998" PRef ="P1" name= year= "YC" "2000" PRef ="P1" name= year= PRef "FC" "1999" ="P2" FC 1999 CZ Student (advisor) references Professor (name) University university (Professor*, Student*) Professor Student (University, Professor, <@name>) (University, Student, references (Professor)

51 Representing 1:n Relationships foreign keys name RRM CZ name MM YC FC Professor age Student year advisor RRM RRM CZ Student (advisor) references Professor (name) student name= year= "MM" "1998" name= "RRM" professor advisor ="RRM" age= "62" university student name= year= "YC" "2000" name= "CZ" advisor ="RRM" professor age= "55" name= "FC" student year= "1999" advisor ="CZ" University university (Professor*, Student*) Professor (University, Professor, (University, Student, (University, Student, references (University, Professor,

52 m:n relationships Person (0,*) (0,*) Review Book name rating ISBN title

53 Representing m:n relationships Person name RRM CZ pname RRM RRM CZ CZ Book ISBN I1 I2 I3 Review ISBN I3 I2 I1 I1 9 9 title T1 T2 T3 rating 9 10 name= "RRM" ISBN= "I1" article ="B3" book title= "T1" review BID= "B1" rating ="9" person ISBN= "I2" article ="B2" book title= "T2" review rating ="9" BID= "B2" library ISBN= "I3" book title= "T3" BID= "B3" article ="B1" Library library (Person*, Book*) Person person (@name, Review*) Book Review review review rating ="9" person article ="B2" review name= "CZ" rating ="10" Review (pname) references Person (name) Review (ISBN) references Book (ISBN) (Library, Person, <@name>) (Library, Book, <@ISBN>) (Person, Review, references (Book)

54 Representing m:n relationships Person name RRM CZ pname RRM RRM CZ CZ Review ISBN I3 I2 I1 I1 Book ISBN I1 I2 I3 rating title T1 T2 T3 name= "RRM" ISBN= "I1" article ="B3" book title= "T1" review BID= "B1" rating ="9" person book review library book Query: What is the rating given by RRM for book T1 π rating ((σ title=t1 (Book)) (σ pname=rrm (Review))) review person person[@name=rrm]/review[@article Book/title=T1]/@rating ISBN= "I2" article ="B2" title= "T2" rating ="9" BID= "B2" ISBN= "I3" title= "T3" BID= "B3" article ="B1" rating ="9" article ="B2" review name= "CZ" rating ="10"

55 N-ary relationships quantity Company (1,*) (0,*) Supplies City (0,*) name Product name Root root (Company*, Product*, City*) Company company Supply + ) Supply Product product City city name (Root, Company, <@name>) (Root, Product, <@name>) (Root, City, references references (City)

56 Recursive Relationships superpart (0,*) Contains Part subpart (0,1) assembly Assembly name qty name=bike qty=0 part name seat tire superpart frame wheel qty 1 1 name=frame qty=1 name=seat qty=1 part part part part name=wheel qty=2 name=tire qty=1 frame wheel bike bike bike null Assembly assembly (Part*) Part part Part*) (assembly, part, <@name>)

57 Ordered Relationships Person name Ullman zip library RRM name="ullman" zip="95123" person person name="rrm" zip="90095" Book book book book ISBN B1 title DB order 2 author Ullman ISBN= "B1" title= "Aut" ISBN= "B2" title= "DB" ISBN= "B3" title= "MMS" B2 Aut 1 Ullman B3 MMS 1 RRM Library library (Person*) Person person Book*) Book book (Library, Person, <@name>) (Library, Book, <@ISBN>)

58 Categories and set constraints name Person PersonCity PersonZip PersonCity PersonZip = PersonCity PersonZip = Person city state zip Person person

59 Categories and Set Constraints name Person Review (0,*) (0,*) Root root (Person*, Book*, Paper*) Person person Review*) Review (Root, Person, (Person, references (Book Paper) Article Book Paper

60 Set constraints on Roles (0,*) personbook AuthorOf (1,1) Book name Person (0,*) personpaper AuthorOf (1,1) Paper personbook personpaper = Person person (@name, (Book* Paper*))

61 Set Constraints on Roles name venue Conference (0,*) Presented (0,1) confpaper Paper title name publisher Journal (0,*) Published (0,1) journalpaper confpaper journalpaper = confpaper journalpaper = Paper Conference conference Paper*) Journal journal Paper*)

62 Converting ERex XML Goals Maximize relationships represented using subelement. Others try to represent using IDREF

63 Algorithm: ERex XML A non-terminal symbol for each entity type with key m:n relationship n-ary relationship Root non-terminal symbol Represent attributes Represent relationships and identify top nodes 1:1 and 1:n relationships m:n relationships n-ary relationships Identify key and IDREF constraints.

64 Review (0,*) (0,*) rating Article (0,*) personbook Author Of (1,1) Book Paper name Person (0,*) personpaper Author Of (1,1) ISBN btitle year ptitle year journal PersonCity PersonZip personbook personpaper = personbook personpaper = Person city state zip PersonCity PersonZip = PersonCity PersonZip = Person

65 Review (0,*) (0,*) rating Article (0,*) personbook Author Of (1,1) Book Paper name Person (0,*) personpaper Author Of (1,1) ISBN btitle year ptitle year journal PersonCity PersonZip city state zip N = {Root, Person, Book, Paper, Review} Book Paper Person person Person person (Book* Paper*) Person person (Review*) Review review Root root (Person*) (Root, Person, <@name>) (Root, Book, <@ISBN>) (Root, Paper, <@ptitle>) (Person, Review, references (Book Paper)

66 Conclusions ERex Schemas Translator XML Schemas Final XML Schema Schema Designer Obtained good XML Schema from ERex schemas

67 Part II: Translation between Relational and XML models.

68 Why publish relational databases as XML? Provide an XML view for our legacy data Users/Applications can query our data over the web using standards. Easier to query XML than legacy (relational) data? Convert our legacy data to XML We can exchange data with applications. Store data in XML databases? Easier to query?

69 Application Scenarios Schema Matching Problem Given a relational schema and an XML schema by a standards body, how do we map this relational schema to XML? Tools such as XML Extender from IBM, Clio (University of Toronto and IBM), MS SQL Server Schema Mapping Problem Given a relational schema, how do we come up with a good XML schema?

70 Schema Matching: MS SQL Server Architecture COPYRIGHT NOTICE. Copyright 2003 Microsoft Corporation, One Microsoft Way, Redmond, Washington U.S.A. All rights reserved.

71 Schema Mapping Problem Name A B Age Salary <person> <Name>A</name> <Age>25</Age> </person> Users/Applications see a uniform XML view Exchange data with other applications Store XML in native XML databases Querying XML is easier? Problem: What is a good XML schema for a relational schema?

72 Goals XML Schema should maintain constraints. Resulting XML should not introduce redundancies. Most relationships can be navigated using path expressions, rather than joins. Minimal user interaction: Our translator should suggest good XML schemas to the database designer.

73 System Architecture RDB NeT CoT XML Schemas Final XML Schema Schema Designer

74 Related Work XML-DBMS Template driven mapping language SilkRoute Declarative Query Language (RXL) for viewing relational data as XML Xperanto User specifies query in XML Query Language

75 Algorithms Naïve FT (Flat Translation) Consider relational data NeT (Nesting-based Translation) Consider relational schema CoT (Constraint-based Translation)

76 FT: Flat Translation 1 : 1 mapping from relational to XML Idea A type (non-terminal) corresponding to every relation Attributes of a relation form attributes of the type Keys and foreign keys are preserved

77 FT: Flat Translation - Example name RRM CZ name MM YC FC Professor age Student year advisor RRM RRM CZ Student (advisor) references Professor (name) student name= year= "MM" "1998" name= "RRM" professor advisor ="RRM" age= "62" university student name= year= "YC" "2000" name= "CZ" advisor ="RRM" professor age= "55" name= "FC" student year= "1999" University university (Professor*, Student*) Professor professor Student (University, Professor, <@name>) (University, Student, <@name>) (University, Student, <@advisor>) references (University, Professor, <@name>) advisor ="CZ"

78 NeT: Nesting-based Translation Idea: Make use of non-flat features provided by XML: represent repeating groups using *, +

79 NeT: Example Course (cname, prof, text) cname Algorithms Algorithms Algorithms Algorithms prof Gafni Gafni Majid Majid text Udi Manber CLR Udi Manber CLR

80 NeT: Example Course (cname, prof +, text) cname Algorithms Algorithms prof {Gafni, Majid} {Gafni, Majid} text Udi Manber CLR Course (cname, prof +, text + ) Cname Algorithms prof {Gafni, Majid} text {Udi Manber, CLR}

81 NeT: Example university course course course course University university (Course*) cname="algorithms" prof="gafni" text="udi Manber" cname="algorithms" prof="gafni" text="clr" cname="algorithms" prof="majid" text="udi Manber" cname="algorithms" prof="majid" text="clr" university ValueRatio=12/5 University university (Course*) Course course Prof+, Text+) Prof prof (#PCDATA) Text text (#PCDATA) #PCDATA pcdata (ε) cname="algorithms" prof prof course text text (University, Course, prof, text>) Gafni Majid Udi Manber CLR

82 NeT: Example Person (name, city, state, zip) name city state zip MM Los Angeles CA AN Los Angeles CA Person (name +, city, state, zip) {MM, AN} Los Angeles CA 90034

83 NeT: Example directory directory person person city="los Angeles" state="ca" person zip="90034" name="mm" city="los Angeles" state="ca" zip="90034" name="an" city="los Angeles" state="ca" zip="90034" Directory directory (Person*) @zip) (directory, person, ValueRatio=8/5 name MM name AN Directory directory (Person*) Name*) Name name (#PCDATA) (directory, person,

84 NeT: Summary Consider Table t with column set C. Nesting on column X is defined as: Any two tuples with the same values for (C X) will be combined to one tuple Observation: We need to nest only on key columns Advantages of NeT NeT removes redundancy if relation is not in 4NF NeT provides more intuitive XML schemas with less redundancy

85 NeT: Experimentation Test Set #attr #tuples ValueRatio #nested attributes Time (sec) Balloons Hayes Bupa Balance TA_Eval Car Flare

86 CoT: Constraint-based Translation Translating relational schema Idea: Use foreign key constraints and our knowledge of how to represent relationships to come up with better XML models.

87 CoT: Step 1 university Professor pname RRM age 62 pname="rrm" age="62" professor Student student student student sname MM YC YC advisor RRM RRM RRM cname DBs DBs QSs Student (advisor) references Professor (pname) ValueRatio=11/8 sname= "MM" cname= "DBs" University university (Professor*) Professor Student*) Student student (University, Professor, <@pname>) (Professor, Student, sname= "YC" cname= "DBs" sname= "YC" cname= "QSs"

88 CoT: Step 2 Professor pname RRM sname MM YC YC age 62 Student advisor RRM RRM RRM Course cname DBs QSs cname DBs DBs QSs since pname="rrm" age="62" University university (Professor*, Course*) Professor professor Student*) Student student Course (University, Professor, <@pname>) (University, Course, <@cname>) (Professor, Student, CRef::IDREF references (Course) professor university course course Student (advisor) references Professor (pname) Student (cname) references Course (cname) sname= "MM" student CRef= "c1" student sname= "YC" CRef= "c1" student sname= "YC" cname= "DBs" since= "1979" CRef= "c2" CID= "c1" cname= "QSs" since= "1962" CID= "c2" ValueRatio=15/14

89 CoT: Example Student (SID, name, advisor) Emp (EID, name, projname) Prof (EID, name, teach) Course (CID, title, room) Dept (dno, mgr) Proj (pname, pmgr) student student proj Student (advisor) references Prof (EID) Emp (projname) references Proj (pname) Prof (teach) references Course (CID) Prof (EID, name) references Emp (EID, name) Dept (mgr) references Emp (EID) Proj (pmgr) references Emp (EID) course prof emp dept

90 student student proj course course prof Top nodes emp dept (University, Course, (University, Emp, (University, Prof, (University, Student, (University, references (Emp) University university (Course*, references Prof*) (Proj) Prof prof Student*) Student @EmpID, Dept*, Proj*) Proj Dept dept

91 CoT Experimentation Ran on TPC-H data Value ratio > 100/88 (size decreased by more than 12%)

92 Conclusions RDB NeT CoT XML Schemas Final XML Schema Schema Designer We obtained good XML schemas from relational schemas Constraints are maintained Redundancies are decreased Most relationships can be navigated using path expressions. Minimum user interaction

93 Storing XML data in relational databases

94 Options for storing XML data Store in relational databases Relational databases are robust and efficient (IBM XML Extender, Oracle, MS SQL Server) Store in native XML databases More efficient for XML than relational databases (Natix, exist, Tamino) Store in a combination of both Structured portion of XML data in relational database, and unstructured portion in native XML store.

95 Related Work STORED No Schema Use data mining techniques to find structured and frequent patterns These are stored in relational DB, others in semistructured overflow store Drawback: Requires integration of relational DB and semi-structured store Storing paths One relation for storing nodes, one for storing edges. Drawback: Type information is lost.

96 Type-based relational storage Jayavel Shanmughasundaram Several key ideas such as schema simplification, inlining, handling recursion LegoDB Use the query workload to come up with an efficient relational schema.

97 Main features The entire XML document is shredded and stored in a relational database. All semantic constraints in XML schema are not captured in relational schema. We do not discuss how operations on XML are translated to SQL.

98 Why not capture all constraints? A a (@b, ((@c, D)* (@e, F)*)) (Root, A, <@b>) D (@aref) F (@aref) Semantic constraints lost if D refers to an A, then the should be non-null if F refers to an A, then the should be non-null

99 NF2 representation of regular tree grammars Eliminate

100 Schema Simplification A a (@d, (B, C, B)*) A a (@d [1, 1], (B [2, 2], C [1, 1]) [0, *]) A a (@d [1, 1], B [2, 2] [0, *], C [1, 1] [0, *]) A a (@d [1, 1], B [0, *], C [0, *]) A a (@d, B*, C*) Semantic information lost The number of B s is two times the number of C s for every C, there is a B that occurs before it, and one that occurs after it.

101 Inlining Conf Venue) Venue @country) Why inlining? Lesser joins, hence more efficient

102 Mapping Collection Types Conf Paper*) Paper @confref) Separate relation with foreign key for every collection type

103 IDREF attribute Person Review*) references (Book Paper) Book Paper

104 Recursion using? A a (@d, A?) A (@d, ARef) ARef refers to the child of A, and can be null A a (@d, ARef) ARef refers to the parent of A and can be null.

105 Recursion using * A a (@d, A*) A (@d, ARef) ARef refers to the parent of A, and can be null

106 Recursion General technique For every cycle, we must have a separate relation Algorithm For every strongly connected component, define a separate relation for one of the types. In a strongly connected component, if there is a type which can be children of multiple types, then define a separate relation for that type.

107 Capturing Order in the Document Through order attributes Corresponding to each type in XML schema, say A, we have an associated order attribute, say aorder Conf Venue) Venue @venueorder)

108 Conclusions XML schema with no recursion can be translated to relational schema with no nulls. XML schema with recursion cannot be translated to relational schema with no nulls. If recursion, separate relation needed for every cycle. All semantic constraints in XML cannot be captured in relational schema. XML resulting from CoT can be translated to the original relational schema; all semantic constraints are maintained.

109 Open Problems Standards specification: What structural and constraint specification schemes for XML are needed for database applications? XML used for text/document publishing: Keyword Search in XML documents Storing data consisting of structured and unstructured portions: integrating relational and XML stores.

110 Open Problem (contd ) Translating operations in XML model to underlying sources (relational) Use annotated schema (MS SQL Server) Use implicit annotations (LegoDB) Query minimization: When we do automatic translation, we might perform unnecessary joins?

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1 The Relational Model Ramakrishnan&Gehrke, Chapter 3 CS4320 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. Legacy systems in older models

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3 The Relational Model Chapter 3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase,

More information

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB Outline Database concepts Conceptual Design Logical Design Communicating with the RDBMS 2 Some concepts Database: an

More information

Translating between XML and Relational Databases using XML Schema and Automed

Translating between XML and Relational Databases using XML Schema and Automed Imperial College of Science, Technology and Medicine (University of London) Department of Computing Translating between XML and Relational Databases using XML Schema and Automed Andrew Charles Smith acs203

More information

Lecture 6. SQL, Logical DB Design

Lecture 6. SQL, Logical DB Design Lecture 6 SQL, Logical DB Design Relational Query Languages A major strength of the relational model: supports simple, powerful querying of data. Queries can be written intuitively, and the DBMS is responsible

More information

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to: 14 Databases 14.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define a database and a database management system (DBMS)

More information

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd. The Entity- Relationship Model R &G - Chapter 2 A relationship, I think, is like a shark, you know? It has to constantly move forward or it dies. And I think what we got on our hands is a dead shark. Woody

More information

Databases and BigData

Databases and BigData Eduardo Cunha de Almeida eduardo.almeida@uni.lu Outline of the course Introduction Database Systems (E. Almeida) Distributed Hash Tables and P2P (C. Cassagnes) NewSQL (D. Kim and J. Meira) NoSQL (D. Kim)

More information

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys Database Design Overview Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Conceptual design The Entity-Relationship (ER) Model, UML High-level, close to human thinking Semantic

More information

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization Requirement Analysis & Conceptual Database Design Problem analysis Entity Relationship notation Integrity constraints Generalization Introduction: Lifecycle Requirement analysis -> Text Conceptual Design

More information

A Workbench for Prototyping XML Data Exchange (extended abstract)

A Workbench for Prototyping XML Data Exchange (extended abstract) A Workbench for Prototyping XML Data Exchange (extended abstract) Renzo Orsini and Augusto Celentano Università Ca Foscari di Venezia, Dipartimento di Informatica via Torino 155, 30172 Mestre (VE), Italy

More information

Conceptual Design Using the Entity-Relationship (ER) Model

Conceptual Design Using the Entity-Relationship (ER) Model Conceptual Design Using the Entity-Relationship (ER) Model Module 5, Lectures 1 and 2 Database Management Systems, R. Ramakrishnan 1 Overview of Database Design Conceptual design: (ER Model is used at

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

The Relational Model. Why Study the Relational Model? Relational Database: Definitions The Relational Model Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Microsoft, Oracle, Sybase, etc. Legacy systems in

More information

Logical Schema Design: The Relational Data Model

Logical Schema Design: The Relational Data Model Logical Schema Design: The Relational Data Model Basics of the Relational Model From Conceptual to Logical Schema Logical Schema Design Select data model Hierarchical data model: hierarchies of record

More information

Review: Participation Constraints

Review: Participation Constraints Review: Participation Constraints Does every department have a manager? If so, this is a participation constraint: the participation of Departments in Manages is said to be total (vs. partial). Every did

More information

Relational Database Basics Review

Relational Database Basics Review Relational Database Basics Review IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Database approach Database system Relational model Database development 2 File Processing Approaches Based on

More information

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations 1 Topics for this week: 1. Good Design 2. Functional Dependencies 3. Normalization Readings for this week: 1. E&N, Ch. 10.1-10.6; 12.2 2. Quickstart, Ch. 3 3. Complete the tutorial at http://sqlcourse2.com/

More information

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML? CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 Introduction to Databases CS2 Spring 2005 (LN5) 1 Why databases? Why not use XML? What is missing from XML: Consistency

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model Chapter 2 Slides modified by Rasmus Pagh for Database Systems, Fall 2006 IT University of Copenhagen Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Today

More information

Data Integration for XML based on Semantic Knowledge

Data Integration for XML based on Semantic Knowledge Data Integration for XML based on Semantic Knowledge Kamsuriah Ahmad a, Ali Mamat b, Hamidah Ibrahim c and Shahrul Azman Mohd Noah d a,d Fakulti Teknologi dan Sains Maklumat, Universiti Kebangsaan Malaysia,

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases

More information

How To Improve Performance In A Database

How To Improve Performance In A Database Some issues on Conceptual Modeling and NoSQL/Big Data Tok Wang Ling National University of Singapore 1 Database Models File system - field, record, fixed length record Hierarchical Model (IMS) - fixed

More information

SQL DDL. DBS Database Systems Designing Relational Databases. Inclusion Constraints. Key Constraints

SQL DDL. DBS Database Systems Designing Relational Databases. Inclusion Constraints. Key Constraints DBS Database Systems Designing Relational Databases Peter Buneman 12 October 2010 SQL DDL In its simplest use, SQL s Data Definition Language (DDL) provides a name and a type for each column of a table.

More information

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Outline Using High-Level Conceptual Data Models for

More information

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1 CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1 Announcements- - - Project Goal: design a database system applica-on with a web front-

More information

There are five fields or columns, with names and types as shown above.

There are five fields or columns, with names and types as shown above. 3 THE RELATIONAL MODEL Exercise 3.1 Define the following terms: relation schema, relational database schema, domain, attribute, attribute domain, relation instance, relation cardinality, andrelation degree.

More information

Relational Databases for Querying XML Documents: Limitations and Opportunities. Outline. Motivation and Problem Definition Querying XML using a RDBMS

Relational Databases for Querying XML Documents: Limitations and Opportunities. Outline. Motivation and Problem Definition Querying XML using a RDBMS Relational Databases for Querying XML Documents: Limitations and Opportunities Jayavel Shanmugasundaram Kristin Tufte Gang He Chun Zhang David DeWitt Jeffrey Naughton Outline Motivation and Problem Definition

More information

ECS 165A: Introduction to Database Systems

ECS 165A: Introduction to Database Systems ECS 165A: Introduction to Database Systems Todd J. Green based on material and slides by Michael Gertz and Bertram Ludäscher Winter 2011 Dept. of Computer Science UC Davis ECS-165A WQ 11 1 1. Introduction

More information

3. Relational Model and Relational Algebra

3. Relational Model and Relational Algebra ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra

More information

IT2304: Database Systems 1 (DBS 1)

IT2304: Database Systems 1 (DBS 1) : Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation

More information

Overview of Database Management

Overview of Database Management Overview of Database Management M. Tamer Özsu David R. Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Fall 2012 CS 348 Overview of Database Management

More information

2. Conceptual Modeling using the Entity-Relationship Model

2. Conceptual Modeling using the Entity-Relationship Model ECS-165A WQ 11 15 Contents 2. Conceptual Modeling using the Entity-Relationship Model Basic concepts: entities and entity types, attributes and keys, relationships and relationship types Entity-Relationship

More information

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Physical Design. Phases of database design. Physical design: Inputs.

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Physical Design. Phases of database design. Physical design: Inputs. Phases of database design Application requirements Conceptual design Database Management Systems Conceptual schema Logical design ER or UML Physical Design Relational tables Logical schema Physical design

More information

Functorial Data Migration. Categorical Informatics, Inc. info@catinf.com. December 1, 2015. C i

Functorial Data Migration. Categorical Informatics, Inc. info@catinf.com. December 1, 2015. C i Functorial Data Migration Categorical Informatics, Inc. info@catinf.com December 1, 2015 C i Outline The Functorial Data Model (FDM) The FDM is based on category theory, which was designed to migrate theorems

More information

Storing and Querying Ordered XML Using a Relational Database System

Storing and Querying Ordered XML Using a Relational Database System Kevin Beyer IBM Almaden Research Center Storing and Querying Ordered XML Using a Relational Database System Igor Tatarinov* University of Washington Jayavel Shanmugasundaram* Cornell University Stratis

More information

Unraveling the Duplicate-Elimination Problem in XML-to-SQL Query Translation

Unraveling the Duplicate-Elimination Problem in XML-to-SQL Query Translation Unraveling the Duplicate-Elimination Problem in XML-to-SQL Query Translation Rajasekar Krishnamurthy University of Wisconsin sekar@cs.wisc.edu Raghav Kaushik Microsoft Corporation skaushi@microsoft.com

More information

Relational Foundations for Functorial Data Migration

Relational Foundations for Functorial Data Migration Relational Foundations for Functorial Data Migration David Spivak, Ryan Wisnesky Department of Mathematics Massachusetts Institute of Technology {dspivak, wisnesky}@math.mit.edu DBPL October 27, 2015 Introduction

More information

History of Database Systems

History of Database Systems History of Database Systems By Kaushalya Dharmarathna(030087) Sandun Weerasinghe(040417) Early Manual System Before-1950s Data was stored as paper records. Lot of man power involved. Lot of time was wasted.

More information

www.gr8ambitionz.com

www.gr8ambitionz.com Data Base Management Systems (DBMS) Study Material (Objective Type questions with Answers) Shared by Akhil Arora Powered by www. your A to Z competitive exam guide Database Objective type questions Q.1

More information

Introduction to Databases

Introduction to Databases Page 1 of 5 Introduction to Databases An introductory example What is a database? Why do we need Database Management Systems? The three levels of data abstraction What is a Database Management System?

More information

Data Hierarchy. Traditional File based Approach. Hierarchy of Data for a Computer-Based File

Data Hierarchy. Traditional File based Approach. Hierarchy of Data for a Computer-Based File Management Information Systems Data and Knowledge Management Dr. Shankar Sundaresan (Adapted from Introduction to IS, Rainer and Turban) LEARNING OBJECTIVES Recognize the importance of data, issues involved

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

CIS 631 Database Management Systems Sample Final Exam

CIS 631 Database Management Systems Sample Final Exam CIS 631 Database Management Systems Sample Final Exam 1. (25 points) Match the items from the left column with those in the right and place the letters in the empty slots. k 1. Single-level index files

More information

Entity Relationship Diagram

Entity Relationship Diagram Yufei Tao Department of Computer Science and Engineering Chinese University of Hong Kong A primary goal of database design is to decide what tables to create. Usually, there are two principles: 1 Capture

More information

Week 1 Part 1: An Introduction to Database Systems. Databases and DBMSs. Why Use a DBMS? Why Study Databases??

Week 1 Part 1: An Introduction to Database Systems. Databases and DBMSs. Why Use a DBMS? Why Study Databases?? Week 1 Part 1: An Introduction to Database Systems Databases and DBMSs Data Models and Data Independence Concurrency Control and Database Transactions Structure of a DBMS DBMS Languages Databases and DBMSs

More information

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems. Active database systems Database Management Systems Traditional DBMS operation is passive Queries and updates are explicitly requested by users The knowledge of processes operating on data is typically

More information

Index Selection Techniques in Data Warehouse Systems

Index Selection Techniques in Data Warehouse Systems Index Selection Techniques in Data Warehouse Systems Aliaksei Holubeu as a part of a Seminar Databases and Data Warehouses. Implementation and usage. Konstanz, June 3, 2005 2 Contents 1 DATA WAREHOUSES

More information

The Relational Model. Why Study the Relational Model?

The Relational Model. Why Study the Relational Model? The Relational Model Chapter 3 Instructor: Vladimir Zadorozhny vladimir@sis.pitt.edu Information Science Program School of Information Sciences, University of Pittsburgh 1 Why Study the Relational Model?

More information

IT2305 Database Systems I (Compulsory)

IT2305 Database Systems I (Compulsory) Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this

More information

Relational Database Concepts

Relational Database Concepts Relational Database Concepts IBM Information Management Cloud Computing Center of Competence IBM Canada Labs 1 2011 IBM Corporation Agenda Overview Information and Data Models The relational model Entity-Relationship

More information

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model The entity-relationship (E-R) model is a a data model in which information stored

More information

Chapter 10. Functional Dependencies and Normalization for Relational Databases. Copyright 2007 Ramez Elmasri and Shamkant B.

Chapter 10. Functional Dependencies and Normalization for Relational Databases. Copyright 2007 Ramez Elmasri and Shamkant B. Chapter 10 Functional Dependencies and Normalization for Relational Databases Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Chapter Outline 1 Informal Design Guidelines for Relational Databases

More information

Database Design Patterns. Winter 2006-2007 Lecture 24

Database Design Patterns. Winter 2006-2007 Lecture 24 Database Design Patterns Winter 2006-2007 Lecture 24 Trees and Hierarchies Many schemas need to represent trees or hierarchies of some sort Common way of representing trees: An adjacency list model Each

More information

SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com murachbooks@murach.com Expanded

More information

Chapter 2: Designing XML DTDs

Chapter 2: Designing XML DTDs 2. Designing XML DTDs 2-1 Chapter 2: Designing XML DTDs References: Tim Bray, Jean Paoli, C.M. Sperberg-McQueen: Extensible Markup Language (XML) 1.0, 1998. [http://www.w3.org/tr/rec-xml] See also: [http://www.w3.org/xml].

More information

Exercise 1: Relational Model

Exercise 1: Relational Model Exercise 1: Relational Model 1. Consider the relational database of next relational schema with 3 relations. What are the best possible primary keys in each relation? employ(person_name, street, city)

More information

Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?

Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)? Database Indexes How costly is this operation (naive solution)? course per weekday hour room TDA356 2 VR Monday 13:15 TDA356 2 VR Thursday 08:00 TDA356 4 HB1 Tuesday 08:00 TDA356 4 HB1 Friday 13:15 TIN090

More information

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007 Introduction to XML Yanlei Diao UMass Amherst Nov 15, 2007 Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. 1 Structure in Data Representation Relational data is highly

More information

XQuery and the E-xml Component suite

XQuery and the E-xml Component suite An Introduction to the e-xml Data Integration Suite Georges Gardarin, Antoine Mensch, Anthony Tomasic e-xmlmedia, 29 Avenue du Général Leclerc, 92340 Bourg La Reine, France georges.gardarin@e-xmlmedia.fr

More information

Theory of Relational Database Design and Normalization

Theory of Relational Database Design and Normalization Theory of Relational Database Design and Normalization (Based on Chapter 14 and some part of Chapter 15 in Fundamentals of Database Systems by Elmasri and Navathe, Ed. 3) 1 Informal Design Guidelines for

More information

Database Management Systems. Chapter 1

Database Management Systems. Chapter 1 Database Management Systems Chapter 1 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 What Is a Database/DBMS? A very large, integrated collection of data. Models real-world scenarios

More information

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

Chapter 1: Introduction. Database Management System (DBMS) University Database Example This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information

More information

Storing and Querying XML Data using an RDMBS

Storing and Querying XML Data using an RDMBS Storing and Querying XML Data using an RDMBS Daniela Florescu INRIA, Roquencourt daniela.florescu@inria.fr Donald Kossmann University of Passau kossmann@db.fmi.uni-passau.de 1 Introduction XML is rapidly

More information

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs

More information

XML and Data Integration

XML and Data Integration XML and Data Integration Week 11-12 Week 11-12 MIE253-Consens 1 Schedule Week Date Lecture Topic 1 Jan 9 Introduction to Data Management 2 Jan 16 The Relational Model 3 Jan. 23 Constraints and SQL DDL

More information

Integrating Pattern Mining in Relational Databases

Integrating Pattern Mining in Relational Databases Integrating Pattern Mining in Relational Databases Toon Calders, Bart Goethals, and Adriana Prado University of Antwerp, Belgium {toon.calders, bart.goethals, adriana.prado}@ua.ac.be Abstract. Almost a

More information

Relational Database Design

Relational Database Design Relational Database Design To generate a set of relation schemas that allows - to store information without unnecessary redundancy - to retrieve desired information easily Approach - design schema in appropriate

More information

Representing XML Schema in UML A Comparison of Approaches

Representing XML Schema in UML A Comparison of Approaches Representing XML Schema in UML A Comparison of Approaches Martin Bernauer, Gerti Kappel, Gerhard Kramler Business Informatics Group, Vienna University of Technology, Austria {lastname}@big.tuwien.ac.at

More information

AVOIDANCE OF CYCLICAL REFERENCE OF FOREIGN KEYS IN DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL

AVOIDANCE OF CYCLICAL REFERENCE OF FOREIGN KEYS IN DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL AVOIDANCE OF CYCLICAL REFERENCE OF FOREIGN KEYS IN DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL Ben B. Kim, Seattle University, bkim@seattleu.edu ABSTRACT The entity-relationship (ER model is clearly

More information

Extending Data Processing Capabilities of Relational Database Management Systems.

Extending Data Processing Capabilities of Relational Database Management Systems. Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road

More information

LOGICAL DATABASE DESIGN

LOGICAL DATABASE DESIGN MODULE 8 LOGICAL DATABASE DESIGN OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module

More information

Converting XML Data To UML Diagrams For Conceptual Data Integration

Converting XML Data To UML Diagrams For Conceptual Data Integration Converting XML Data To UML Diagrams For Conceptual Data Integration Mikael R. Jensen Thomas H. Møller Torben Bach Pedersen Department of Computer Science, Aalborg University mrj,thm,tbp @cs.auc.dk Abstract

More information

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer. DBMS Architecture INSTRUCTION OPTIMIZER Database Management Systems MANAGEMENT OF ACCESS METHODS BUFFER MANAGER CONCURRENCY CONTROL RELIABILITY MANAGEMENT Index Files Data Files System Catalog BASE It

More information

A brief overview of developing a conceptual data model as the first step in creating a relational database.

A brief overview of developing a conceptual data model as the first step in creating a relational database. Data Modeling Windows Enterprise Support Database Services provides the following documentation about relational database design, the relational database model, and relational database software. Introduction

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

More information

Database Design. Database Design I: The Entity-Relationship Model. Entity Type (con t) Chapter 4. Entity: an object that is involved in the enterprise

Database Design. Database Design I: The Entity-Relationship Model. Entity Type (con t) Chapter 4. Entity: an object that is involved in the enterprise Database Design Database Design I: The Entity-Relationship Model Chapter 4 Goal: specification of database schema Methodology: Use E-R R model to get a high-level graphical view of essential components

More information

Information Models: Applications and Technology. The Data Scalability Problem

Information Models: Applications and Technology. The Data Scalability Problem Information Models: Applications and Technology Application Areas Model Management Technology Colloquium by Philip A. Bernstein in DCS on October 19, 1999 1999 Microsoft Corp. Applications -- 1 The Data

More information

Data Integration and Exchange. L. Libkin 1 Data Integration and Exchange

Data Integration and Exchange. L. Libkin 1 Data Integration and Exchange Data Integration and Exchange L. Libkin 1 Data Integration and Exchange Traditional approach to databases A single large repository of data. Database administrator in charge of access to data. Users interact

More information

SQL: QUERIES, CONSTRAINTS, TRIGGERS

SQL: QUERIES, CONSTRAINTS, TRIGGERS 5 SQL: QUERIES, CONSTRAINTS, TRIGGERS Online material is available for all exercises in this chapter on the book s webpage at http://www.cs.wisc.edu/~dbbook This includes scripts to create tables for each

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

Semistructured data and XML. Institutt for Informatikk INF3100 09.04.2013 Ahmet Soylu

Semistructured data and XML. Institutt for Informatikk INF3100 09.04.2013 Ahmet Soylu Semistructured data and XML Institutt for Informatikk 1 Unstructured, Structured and Semistructured data Unstructured data e.g., text documents Structured data: data with a rigid and fixed data format

More information

Personalization of Web Search With Protected Privacy

Personalization of Web Search With Protected Privacy Personalization of Web Search With Protected Privacy S.S DIVYA, R.RUBINI,P.EZHIL Final year, Information Technology,KarpagaVinayaga College Engineering and Technology, Kanchipuram [D.t] Final year, Information

More information

Content Management for Declarative Web Site Design

Content Management for Declarative Web Site Design Content Management for Declarative Web Site Design Richard Cooper and Michael Davidson Computing Science University of Glasgow DIWeb 1 8/6/2004 Talk Overview Motivation for uniform declarative approach

More information

XML DATA INTEGRATION SYSTEM

XML DATA INTEGRATION SYSTEM XML DATA INTEGRATION SYSTEM Abdelsalam Almarimi The Higher Institute of Electronics Engineering Baniwalid, Libya Belgasem_2000@Yahoo.com ABSRACT This paper describes a proposal for a system for XML data

More information

Enhancing Traditional Databases to Support Broader Data Management Applications. Yi Chen Computer Science & Engineering Arizona State University

Enhancing Traditional Databases to Support Broader Data Management Applications. Yi Chen Computer Science & Engineering Arizona State University Enhancing Traditional Databases to Support Broader Data Management Applications Yi Chen Computer Science & Engineering Arizona State University What Is a Database System? Of course, there are traditional

More information

Database Design. Goal: specification of database schema Methodology: E-R Model is viewed as a set of

Database Design. Goal: specification of database schema Methodology: E-R Model is viewed as a set of Database Design Goal: specification of database schema Methodology: Use E-R model to get a high-level graphical view of essential components of the model and how they are related Convert E-R diagram to

More information

Schema Refinement, Functional Dependencies, Normalization

Schema Refinement, Functional Dependencies, Normalization Schema Refinement, Functional Dependencies, Normalization MSCI 346: Database Systems Güneş Aluç, University of Waterloo Spring 2015 MSCI 346: Database Systems Chapter 19 1 / 42 Outline 1 Introduction Design

More information

Schema Design and Normal Forms Sid Name Level Rating Wage Hours

Schema Design and Normal Forms Sid Name Level Rating Wage Hours Entity-Relationship Diagram Schema Design and Sid Name Level Rating Wage Hours Database Management Systems, 2 nd Edition. R. Ramakrishnan and J. Gehrke 1 Database Management Systems, 2 nd Edition. R. Ramakrishnan

More information

Databases -Normalization III. (N Spadaccini 2010 and W Liu 2012) Databases - Normalization III 1 / 31

Databases -Normalization III. (N Spadaccini 2010 and W Liu 2012) Databases - Normalization III 1 / 31 Databases -Normalization III (N Spadaccini 2010 and W Liu 2012) Databases - Normalization III 1 / 31 This lecture This lecture describes 3rd normal form. (N Spadaccini 2010 and W Liu 2012) Databases -

More information

CSE 132A. Database Systems Principles

CSE 132A. Database Systems Principles CSE 132A Database Systems Principles Prof. Victor Vianu 1 Data Management An evolving, expanding field: Classical stand-alone databases (Oracle, DB2, SQL Server) Computer science is becoming data-centric:

More information

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203.

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : II / III Section : CSE - 1 & 2 Subject Code : CS 6302 Subject Name : Database

More information

Business Intelligence Extensions for SPARQL

Business Intelligence Extensions for SPARQL Business Intelligence Extensions for SPARQL Orri Erling (Program Manager, OpenLink Virtuoso) and Ivan Mikhailov (Lead Developer, OpenLink Virtuoso). OpenLink Software, 10 Burlington Mall Road Suite 265

More information

DBMS / Business Intelligence, SQL Server

DBMS / Business Intelligence, SQL Server DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.

More information

Database Management Systems

Database Management Systems Database Management Systems Database Design (1) 1 Topics Information Systems Life Cycle Data Base Design Logical Design Physical Design Entity Relationship (ER) Model Entity Relationship Attributes Cardinality

More information

Data Modeling: Part 1. Entity Relationship (ER) Model

Data Modeling: Part 1. Entity Relationship (ER) Model Data Modeling: Part 1 Entity Relationship (ER) Model MBA 8473 1 Cognitive Objectives (Module 2) 32. Explain the three-step process of data-driven information system (IS) development 33. Examine the purpose

More information

PartJoin: An Efficient Storage and Query Execution for Data Warehouses

PartJoin: An Efficient Storage and Query Execution for Data Warehouses PartJoin: An Efficient Storage and Query Execution for Data Warehouses Ladjel Bellatreche 1, Michel Schneider 2, Mukesh Mohania 3, and Bharat Bhargava 4 1 IMERIR, Perpignan, FRANCE ladjel@imerir.com 2

More information

Schema Mappings and Data Exchange

Schema Mappings and Data Exchange Schema Mappings and Data Exchange Phokion G. Kolaitis University of California, Santa Cruz & IBM Research-Almaden EASSLC 2012 Southwest University August 2012 1 Logic and Databases Extensive interaction

More information

Lab Manual. Database Systems COT-313 & Database Management Systems Lab IT-216

Lab Manual. Database Systems COT-313 & Database Management Systems Lab IT-216 Lab Manual Database Systems COT-313 & Database Management Systems Lab IT-216 Lab Instructions Several practicals / programs? Whether an experiment contains one or several practicals /programs One practical

More information