Title: Multimedia Databases
1Multimedia Databases
2In this presentation
- Introduction
- What is a Multimedia Database?
- Why do we need it?
- Modeling Multimedia Databases
- Design Methodology
- Modeling the WWW as a Multimedia Database
- WebSQL
- Using the Multimedia Design Methodology
- Graphical extension to SQL SQLD
3What is a Multimedia Database?
- Multimedia Data-types
- Movies, Pictures, Sound Clips, Documents etc
- Advanced Querying Possibilities
4Why Do We Need It?
- Tremendous Amounts of
- Digitized Multimedia Content
- Video servers, Ifilms, IMDB, AllMusic, etc
- Querying for Digitized Information
- A Picture is Worth a Thousand Words
5The Leading Concept
- Extracting Information from Multimedia Objects
On the Fly - Creating a Design Methodology
- Simple, Intuitive, Upward Compatible
- Unbound by Data-type, Application, Usage
6Modeling Multimedia Databases
- Using Object Relational Data Models
- Data Description Language
7Data Description Language
- Example
- Movie Database
- MOVIE(Title, Year, Director, Length)
- What About the Movie?
- Add It to the Database
- Create Additional Functions
8Data Description Language
- First Approach
- Complex Type
- Create Type Movie_t(
- Title varchar(20),
- Year int,
- Director varchar(20),
- Length int,
- MV blob)
- Create Table Movie of type Movie_t
9Data Description Language
- Second Approach
- Extended Type
- Create Table Movies(
- Title varchar(20),
- Year int,
- Director varchar(20),
- Length int,
- MV movie_blob)
10Data Description Language
- Concerns
- Distinguishing the Digitized Information
- Conclusion
- Naming Convention
- The Core Special Attribute
11Data Description Language
- Example Continued
- A New Relation
- MOVIE(Title, Year, Director, Length, Core)
- What About Querying?
- Show the opening sequence of all movies directed
by Spielberg in 1993.
12Data Description Language
- SQL-like Language
- Select Movie.opening_seq
- From Movie
- Where Year1993 AND DirectorSpielberg
13Data Description Language
- SQL Solution
- Declare External opening_seq(movie_blob)
- Returns movie_blob
- Language C
- Smart Interpreter
14A Design Methodology
- Core-ER Diagram
- Core-ORDB schema
15Core-ER Diagram
- Entities
- Abstract Entities
- Core Entities
16Core-ER Diagram
- Attributes
- Conventional Attributes
- Unconventional Attributes
17Core-ER Diagram
- Methods
- Core as Input
- Entity as Input
18Core-ER Diagram
- Keys and Relationships
- Exactly as in ER Diagrams
19Core-ER Diagram
20CER to Core-ORDB Schema
- We Need Rules For
- Abstract Entities
- Core Entities
- Methods
- Relationships
- Embedded ER Diagram
- Keys
- Core Can Be a Key
- Example
21- Employee(SSN, name, picture, position, salary,
Dept)
22- EMail(EMailID, From, To, Date, Date R, Size,
RespTo, Core)
23- Declare External Keyword(Email, string) Returns
BOOLEAN - ltFunction Definitiongt
24 25 26A Design Methodology
- Conclusion
- Full Upward Compatibility
- An Easy to Use Solution
27Modeling the WWW
- WebSQL
- Using the Multimedia Design Methodology
28WebSQL
- SQL-Like Language
- Minimal Relational Approach
- Queries Based Both On The Content And On The
Hypertext Structure Of The Web
29WebSQL
- Content Based Queries
- Document(url, title, text, type, length,
lastModify)
30WebSQL
- Example
- Find All HTML Documents About Hypertext
- Select D.url, D.title, D.length, D.lastModify
- From Document D such that D mentions
Hypertext - Where D.type text/html
31WebSQL
- Hypertext Structure Based Queries
- Document(url, title, text, type, length,
lastModify) - Anchor(base, href, label)
32WebSQL
- Example
- Find All Links to Applet from Documents About
Java - Select Y.label, Y.href
- From Document X such that X mentions Java
Anchor Y such that base X - Where Y.label contains Applet
33WebSQL
- Hypertext Link Classification
- Interior (?)
- Local (?)
- Global (?)
- Empty Path ()
- Path Regular Expressions
- Alternation ( )
- Repetition ( )
- Concatenation ( . )
34WebSQL
- Example
- Select D.url, D.title
- From Document D such that
http//www.cs.huji.ac.il ? ?.? D - Where D.title contains database
35WebSQL
- Example
- Select X.url, X.title, Y.url, Y.title
- From
- Document X such that X mentions Computer
Science, - Document Y such that X ? ?. ? Y
36Modeling the WWW
- WebSQL
- Already Implemented in Java
- Specific Solution
- Refers Only To Documents
- Using the Multimedia Design Methodology
37Multimedia Databases
- Well Be Back, Right After The Break
38Modeling the WWW
- WebSQL
- Already Implemented in Java
- Specific Solution
- Refers Only To Documents
- Using the Multimedia Design Methodology
39Multimedia Design Methodology
- Entities
- HTMLdoc(h_url, title, type, length, lastModify,
core) - Links(l_url, label)
- Include(h_url, l_url)
40Multimedia Design Methodology
- Methods
- Contains(HTMLdoc.title, string)
- Reach_by(HTMLdoc.url, url_to, by_n, l_type)
- Mentions(HTMLdoc, string)
- Linktype(HTMLdoc, url)
41Multimedia Design Methodology
- Example
- Find All HTML Documents About Hypertext
- Select HTMLdoc.h_url
- From HTMLdoc
- Where Contains(HTMLdoc.title, Hypertext)
42Multimedia Design Methodology
- Example
- Find All Links to Applet from Documents About
Java - Select Links.l_url
- From HTMLdoc, Links, Include
- Where mentions(HTMLdoc, java) AND
- HTMLdoc.h_url Include.h_url AND
- Links.l_url Include.l_url AND
- substring(applet, Links.label)
43Multimedia Design Methodology
- Example
- Select Links.l_url
- From HTMLdoc, Links, Include
- Where substring(database, HTMLdoc.title) AND
- HTMLdoc.h_url Include.h_url AND
- Links.l_url Include.l_url AND
- reach_by(http//www.cs.huji.ac.il,
Links.l_url, 2, local) - Hint Weve seen it before
44Multimedia Design Methodology
- Example
- Select HTMLdoc.h_url, Links.l_url
- From HTMLdoc, Links
- Where mentions(HTMLdoc, Computer Science) AND
- reach_by(HTMLdoc.h_url, Links.l_url, 2, local)
45Multimedia Design Methodology
- Simplified Model, But
- Complicated Real World
- Taking Another Step
46Multimedia Design Methodology
- Entities
- HTMLdoc(h_url, title, type, length,
lastModify, core) - WebObject(w_url, label, objectType,
interactive, core) - Properties(position, size, props)
- Include(h_url, w_url, position, size, props)
47Multimedia Design Methodology
- Methods
- Contains(HTMLdoc.title, string)
- Reach_by(HTMLdoc.url, url_to, by_n, l_type)
- Mentions(HTMLdoc, string)
- Linktype(HTMLdoc, url)
- And Additional Methods
- DisplayDoc(HTMLdoc)
- DisplayObj(WebObject, Properties.position,
Properties.size, Properties.props)
48Multimedia Design Methodology
- Example
- List All Documents That Have a Video-Clip Or a
Picture Labeled Sharon - Select HTMLdoc.h_url
- From HTMLdoc, WebObject, Include
- Where HTMLdoc.h_url Include.h_url AND
- WebObject.w_url Include.w_url AND
- (WebObject.objectType Image OR
- WebObject.objectType Video) AND
- WebObject.label Sharon
49Multimedia Design Methodology
- Still Not Complicated Enough
- The Last Step
50Modeling the WWW
- WebSQL
- Already Implemented in Java
- Specific Solution
- Refers Only To Documents
- Using the Multimedia Design Methodology
- General Methodology Used
- Doesnt Require a Special Web SQL-Like Language
- Easily Expandable
51SQLD
- Graphical Extension to SQL
- Answering a Multimedia Database Query
- Easier than Creating Specific Display Solutions
- Display Specifications Are Included in the Query
52SQLD
- Video Store Database
- Movie(available, title, director, producer,
date, classification, rating, core, poster) - Movie_Actors(title, name, role)
- Actors(name, age, biography, picture)
53SQLD
- List All Actors in Gone With the Wind with
Their Pictures and Biographies - Select MA.name, A.biography, A.picture
- From Movie_Actors MA, Actors A
- Where MA.title Gone With the Wind AND
- A.name MA.name
- Display Panel main, Panel info On main(east),
- With MA.name As list On main(west),
- A.picture As image On info(north),
- A.biography As text On info(south)
54(No Transcript)
55SQLD
- Display All Action Movies and Their Posters,
Allowing to Play the movie If Desired - Select title, poster, core
- From Movie
- Where classification Action
- Display Panel main, Panel b On main(east)
- With poster As image On main(west),
- title As list On b(north),
- Play As button On b(south)
- Trigger mpegplay( core )
56(No Transcript)
57SQLD
- Campus Map Database
- Campus(campus_area,area_map)
- Building(building_name, building_picture,
campus_area, coordinates) - Floor(building_name, floor, floor_map)
- Room(building_name, floor, room_name,
description, homepage, info, coordinates)
58SQLD
- Show a Map of Main Campus With a List of the
Buildings in it - Select C.area_map, B.building_name
- From Campus C, Building B
- Where C.campus_area Main Campus
- Display Panel main
- With B.building_name As list On main(east),
- C.area_map As image On main(west)
59(No Transcript)
60SQLD
- Show a Map of Main Campus With a List of the
Buildings in it - Select C.area_map, B.building_name,
B.coordinates - From Campus C, Building B
- Where C.campus_area Main Campus
- Display Panel main
- With B.building_name As list On main(east),
- C.area_map As image On main(west)
- All B.coordinates As polygon On
main(west)
61(No Transcript)
62SQLD
- Show a Map of Main Campus With a List of the
Buildings in it - Select C.area_map, B.building_name
- From Campus C, Building B
- Where C.campus_area Main Campus
- Display Panel main
- With B.building_name As list On main(east)
- Trigger building_maps( building_name
) - C.area_map As image On main(west)
63SQLD
- Where building_maps(input) is
- Select B.building_name, B.building_picture,
F.floor - From Building B, Floor F
- Where B.building_name input AND
- F.building_name B.building_name
- Display Panel main, Panel b On main(south)
- With building_picture As image On main(north),
- building_name As title On main(north),
- All floor As button On b(east)
- Trigger floor_buildings( building_name ,
floor ) - Select Floor To Visit On b(west)
64(No Transcript)
65SQLD
- And floor_buildings(input1, input2) is
- Select F.floor_map, R.floor, R.room_name,
R.info, R.homepage, R.coordinates - From Floor F, Room R
- Where F.building_name input1 AND
- F.floor input2 AND
- R.floor F.floor
66SQLD
- And floor_buildings(input1, input2) is
- Display Panel main,
- Panel b On main(west),
- Panel c On main(east),
- With floor_map As image On c(north),
- All coordinates As poly On c(north),
- room_name As list On b(north),
- info As text On b(center),
- All Distinct floor As button On c(south)
- Trigger floor_buildings(buildin
g_name,floor) - homepage As button On b(south)
67(No Transcript)
68SQLD
- SQL-Like Queries
- Application-Like Display Controller
- Makes Most of Both Worlds
- Simple to Use
- User Friendly Output
69Conclusion
- Multimedia Content Becomes More and More Popular
- Correct Generic Models Bring Easy to Use Results
- Clean, Simple Solutions Come From Extending the
Existing Format
70References
- Chitta Baral, Graciela Gonzalez and Tran Son,
Conceptual Modeling and Quering in Multi-media
Databases, Department of CS, UTEP - Alberto O. Mendelzon, George A. Mihaila and Tova
Milo, Quering the World Wide Web, University of
Toronto and Tel-Aviv University, 1996 - Chitta Baral, Graciela Gonzalez and Tran Son, A
Multimedia Display Extension to SQL Language
Design and Architecture, Department of CS, UTEP,
1997 - Chitta Baral, Graciela Gonzalez and Tran Son,
Issues in Querying Multimedia Databases,
Department of CS, UTEP - Isabel F. Cruz, Michael Averbuch, Wendy T. Lucas,
Mellisa Radzyminski, Kirby Zhang, Delaunay a
Database Visualization System, Database
Visualization Reaserch Group, Tufts University
71ThThThats All Folks!