RDBMS (Relational Database Management Systems)

Size: px
Start display at page:

Download "RDBMS (Relational Database Management Systems)"

Transcription

1 RDBMS (Relational Database Management Systems) 1

2 Introduction to DBMS Data and Information Where data is some meaningful fact or figure, information is the processed data on which decisions and actions are based. Information can also be defined as the organized and classified data to provide the meaningful values to the receiver. 2

3 3 Data processing: It is the step-by-step refinement of data to get out the desired information. Data Information or Process or Input output

4 Database Management System Definition A database management system (DBMS) consists of a collection of interrelated data and a set of programs to access that data. The collection of data, usually referred to as the database, contains information about one particular enterprise. The primary goal of a DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing database information. Database systems are designed to manage large bodies of information. The management of data involves both the definition of structures for the storage of information and the provision of mechanisms for the manipulation of information. In addition, the database system must provide for the safety of the information stored, despite system crashes or attempts at unauthorized access. If data is to be shared among several users, the system must avoid possible inconsistent results. 4

5 Contd The importance of information in most organizations, and the value of the database, has led to the development of a large body of concepts and techniques for the efficient management of data. A database management system is also a collection of software programs that stores data, organizes the data into records, and allows access to the data in a uniform and consistent way. In a database management system (DBMS), application programs do not obtain the data they need directly from the storage media. They must first request the data from the DBMS. The DBMS then retrieves the data from the storage media and provides them to the application programs. Thus a database management system operates between application programs and the data. 5

6 6 Relationship of application programs, a database management system, and a database. Application program Application program Application program Database Management System Database

7 7 Purpose of Database Systems. The purpose of the database systems is replace the conventional file processing system which has major disadvantages, to a robust system, which is capable of storing the data by eliminating redundancy, inconsistency, security problems and integrity problems.

8 The typical file-processing system has a number of disadvantages: Data redundancy and inconsistency. Difficulty in accessing data. Data Isolation. Concurrent access anomalies. Security Problems. Integrity problems. 8

9 Data Abstraction. Data abstraction is the reduction of a particular body of data to a simplified representation of the whole. Abstraction, in general, is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics. As in abstract art, the representation is likely to be one potential abstraction of a number of possibilities. A database abstraction layer, for example, is one of a number of such possibilities. 9

10 10 Contd.. Data abstraction is usually the first step in database design. A complete database is much too complex a system to be developed without first creating a simplified framework. Data abstraction makes it possible for the developer to start from essential elements -- data abstractions -- and incrementally add data detail to create the final system.

11 Data Abstraction(contd.. ) A database management system is a collection of interrelated files and a set of programs that allow users to access and modify these files. A major purpose of a database system is to provide users with an abstract view of the data. That is, the system hides certain details of how the data is stored and maintained. However, in order for the system to be usable, data must be retrieved efficiently. This concern has lead to the design of complex data structures for the representation of data in the database. Since many database systems users are not computer trained, the complexity is hidden from them through several levels of abstraction in order to simplify their interaction with the system. 11

12 12 Three levels of abstraction. View level 1 View level 2 View level n Conceptual Level Physical level

13 Physical level: The lowest level of abstraction describes what are actually stored. At the physical level, complex low-level data structures are described in detail. Conceptual level: The next higher level of abstraction describes what data are actually stored in the database, and the relationships that exist among the data. Here the entire database is described in terms of a small number of relatively simple structures. Although implementation of simple structures at the conceptual level may involve complex physical-level structures, the user of the conceptual level need not be aware of this. The conceptual level of abstraction is used by database administrators, who must decide what information is to be kept in the database. View Level: The highest level of abstraction describes only part of the entire database. Despite the use of simpler structures at the conceptual level, some complexity remains because, of the large size of the database. Many users of the database system will not be concerned with all of this information. Instead, such users need only a part of the database. To simplify their interaction with the system, the view level of abstraction is defined. The system may provide many views for the same database. 13

14 Overall System Structure. Naïve Users Application Programmers Sophisticated Users Database administrator (daily data users) Application interfaces Application programs Query Database scheme DML Pre Compiler Query Processor DDL compiler Application programs object code File manager Database manager Data files Database Management System Disk Storage Data dictionary 14

15 Overall System Structure. A database system is partitioned into modules that deal with each of the responsibilities of the overall system. In most cases, the computer s operating system provides only the most basic services and the database system must build on that base. Thus, the design of a database system must include consideration of the interface between the database system and the operating system. The function components of a database system include: File manager Database manager Query processor DML pre-compiler DDL compiler In addition, several data structures are required as part of the physical system implementation, including: Data files Data dictionary Indices 15

16 What is a database? 16

17 17 Anatomy of a Database Data Definition

18 Anatomy of a Database Data Definition Indices 3GL Manipulation Data Manipulation 18

19 Anatomy of a Database Data Control Security Etc. Data Data Definition Maintenance Indices GUI 3GL Manipulation 4GL Query Processor Data Manipulation 19

20 Common Uses of Databases Try to think why each of these need to use a database: Supermarkets Insurance Credit Cards/Banking Libraries Travel Agents Universities Engineering 20

21 File Based Systems DEFINITION A collection of application programs that perform services to end users. Each program defines and manages its own data. 21

22 22 File Based Processing Data Entry & Reports File handling Routines File Definition Data Entry & Reports File handling Routines File Definition Sales Files Lease Files

23 Limitations of File Based Systems Separation & Isolation of Data Data Dependence Duplication of Data Incompatible file formats How do we resolve these problems? 23

24 24 The Database Approach DEFINITION A shared collection of logically related data designed to meet the information requirements of an organisation

25 25 Database Processing Data Entry & reports DBMS Leases Data Entry & reports App. Programs Database

26 Database Management System (DBMS) DEFINITION A software system that enables users to define, create and maintain the database and which provides controlled access to the database 26

27 Facilities of a DBMS Allows users to define the database (DDL) Allows users to insert, update, delete & retrieve data (DML) Provides controlled access a security system an integrity system a concurrency control system a recovery system a user accessible catalogue 27

28 Components of a DBMS Hardware Software Data Procedures People 28

29 Advantages Minimal data redundancy Consistency of data Integration of data Improved integrity Consistent security Standards Increased productivity 29

30 Disadvantages Complexity Additional Hardware Costs Size Performance Experts -Specialised Personnel Potential organisational Conflict Higher impact of failure 30

31 Types of DBMS Early Types of DBMS Hierarchical Network Current Generation Relational Advanced Systems - Object Based 31

32 32 Relational Database Relational database system devised by Codd in 1970 An attempt to devise a standard model with a sound mathematical basis why does this differ to the previous systems? Most successful database model Most use the query language SQL Examples include: Oracle, Microsoft Access, FoxPro, MySql, SQLServer etc

33 33 Relational Database - BRANCH relation STAFF relation Example branchno street city postcode B Deer Rd London SW1 4EH B Argyll St Aberdeen AB2 3SU B Main St Glasgow G11 9Q StaffNo Name Position Salary branchno SL21 John White Manager B005 SG37 Ann Beech Assistant B003 SG14 David Ford Supervisor B003

34 34 What is a database and how is it used?

35 Operational Databases Ongoing business activities Dynamic data Examples Inventory control Accounting records Order processing Scheduling Transaction Processing Systems (TPS) 35

36 Analytical Databases Historical / Time-dependent data Static data Examples Census / demographic records Sales forecasting Data Mining 36

37 Client/Server Technology

38 client/server architecture A network architecture in which each computer or process on the network is either a client or a server. Servers are powerful computers or processes dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers ). Clients are PCs or workstations on which users run applications. Clients rely on servers for resources, such as files, devices, and even processing power.

39 Two-tier Client/Server Architectures

40 Two-tier Client/Server Architectures This type of architecture usually consists of a Windows based client program, and a server database such as Oracle. The graphical user interface (GUI) communicates with the database server across the network via Structured Query Language (SQL), and may be developed quickly with IDE based tools such as Delphi.

41 Limitations of a two-tier application The limitations of a two-tier application become evident after 100 to 150 users log in. Because business logic is processed on the client machine, large data sets are downloaded across the network and calculated or summarized by the client application. This type of architecture is very taxing on network infrastructure, and to some degree on the database server. Still, two-tier applications are well suited for small to midsize user groups, and are still developed widely today.

42 Advantages of client/server computing Client/server computing facilitates the use of GUI that is available on workstations. The visual presentation in turn increases the productivity of the end user as it is very easy to use. Investment in training and education can be leveraged better and application development will be faster. Client/server environment exploits the power of the workstations and due to the fact that client and servers might run on different software and hardware platforms it encourages the acceptance of open systems.

43 1-tier architecture A 1-tier architecture is the most basic setup because it involves a single tier on a single machine. Think of an application that runs on your PC: Everything you need to run the application (data storage, business logic, user interface, and so forth) is wrapped up together.

44 An example of a 1-tiered application An example of a 1-tiered application is a basic word processor or a desktop file utility program. Although the 1-tier approach is a simple design that's easy to distribute, it does not scale well. In addition, because you are limited to running the entire application (including the user interface) on single machine, a 1-tier architecture does not adequately address the needs of a web-based application.

45 2-tier architecture A 2-tier architecture is the basic terminal-toserver or browser-to-server relationship. You could have a "smart" client that performs most of the work talking to a "dumb" server; or, more commonly, a "dumb" client talking to a "smart" server. Sometimes you have both. In essence, the client handles the display, the server handles the database, and the business logic is contained on one or both of the two tiers.

46 An example of a 2-tier approach An example of a 2-tier approach is the basic web model where a web server serves pages to a web browser. Another example of a 2-tier approach is a specialized terminal-to-server application. Although the 2-tier approach increases scalability and separates the display and database layers, it does not truly separate the application into highly specialized, functional layers. Because of this lack of specialization, most applications quickly outgrow this model.

47 3-Tier Architecture

48

49 A 3-tier architecture A 3-tier architecture is the most common approach used for web applications today. In the typical example of this model, the web browser acts as the client, an application server (such as Macromedia ColdFusion) handles the business logic, and a separate tier (such as Oracle or MySQL database servers) handles database functions.

50

51 3-tier client/server environment. In a 3-tier client/server environment there are 3 tiers as the name indicates. The first tier consists of user interface on the client, the second tier or the middle tier consists of business or application logic and the final tier handles the data (database). The first tier never directly interacts with the third tier.

52

53 3-tier architecture has several advantages: Clear separation of user interface control and data presentation from application logic Centralized data storage, easy to manage Scalable, load balancing Change management: simpler and faster to exchange a component on the server side

54

55 Database Models.

56 A data model is a collection of concepts that can be used to describe the structure of a database and provides the necessary means to achieve this abstraction whereas structure of a database means the data types, relationships and constraints that should hold on the data. It is a collection of conceptual tools for describing data, data relationships, data semantics and consistency constraints. The various data models that have been proposed fall into three different groups. Object based logical models, record-based logical models and physical models.

57 Object-Based Logical Models They are used in describing data at the logical and view levels. They are characterized by the fact that they provide fairly flexible structuring capabilities and allow data constraints to be specified explicitly. There are many different models and more are likely to come. Several of the more widely known ones are: The Entity-Relationship model. The object-oriented model. The semantic data model. The info logical data model. The functional data model.

58 The entity-relationship Model The (E-R) data model is based on a perception of a real world that consists of a collection of basic objects, called entities, and of relationships among these objects. The overall logical structure of a database can be expressed graphically by an E-R diagram. This is built up by the following components: Rectangles, which represent entity sets Ellipses, which represent attributes Diamonds, which represent relationships among entity sets Lines, which link attributes to entity sets and entity sets to relationships.

59 A sample E-R diagram Customer Deposit Account

60 The Object-oriented Model Like the E-R model the object-oriented model is based on a collection of objects. An object contains values stored in instance variables within the object. An object also contains bodies of code that operate on the object. These bodies of code are called methods. A class is the collection of objects which consist of the same types of values and the same methods. E.g. account number & balance are instance variables; pay-interest is a method that uses the above two variables and adds interest to the balance.

61

62 A data model is a logic organization of the real world objects (entities), constraints on them, and the relationships among objects. A DB language is a concrete syntax for a data model. A DB system implements a data model. A core object-oriented data model consists of the following basic object-oriented concepts: (1) object and object identifier: Any real world entity is uniformly modeled as an object (associated with a unique id: used to pinpoint an object to retrieve).

63 attributes and methods: every object has a state (the set of values for the attributes of the object) and a behavior (the set of methods - program code - which operate on the state of the object). The state and behavior encapsulated in an object are accessed or invoked from outside the object only through explicit message passing. [ An attribute is an instance variable, whose domain may be any class: user-defined or primitive. A class composition hierarchy (aggregation relationship) is orthogonal to the concept of a class hierarchy. The link in a class composition hierarchy may form cycles. ]

64 class: a means of grouping all the objects which share the same set of attributes and methods. An object must belong to only one class as an instance of that class (instance-of relationship). A class is similar to an abstract data type. A class may also be primitive (no attributes), e.g., integer, string, Boolean. Class hierarchy and inheritance: derive a new class (subclass) from an existing class (superclass). The subclass inherits all the attributes and methods of the existing class and may have additional attributes and methods. single inheritance (class hierarchy) vs. multiple inheritance (class lattice).

65 Record-Based Logical Models Record based logical models are also used in describing data at the logical and view levels. In contrast to object-based data models, they are used both to specify the overall logical structures of the database, and to provide a higher-level description of the implementation. Record-based models are so named because the database is structured in fixed-format records of several types. Each record type defines a fixed number of fields, or attributes, and each field is usually of a fixed length.

66 The three most widely accepted recordbased data models are the relational, network, and hierarchical models.

67 Relational Database Model The relational model uses a collection of tables to represent both data and the relationships among those data. Each table has multiple columns, and each column has a unique name.

68 Relational Database Model College Department Staff Instructor Student Course Registration Section

69 Relational Database Model College Department Staff Instructor Student Course Registration Section

70 Relational Database Model College Scholarships Department Staff Instructor Course Fees Student Prereqs Course Registration TA Section

71 Network Database Model Data in the network model is represented by collection of records, and relationship among data is represented by links, which can be viewed as pointers. The records in the database are organized as collections of arbitrary graphs. Such type of database is shown in the Figure.

72 Network Database Model Multiple inverted trees (with shared branches) College Staff Department Staff Instructor Course Student Section Registration

73 Network Database Model Multiple inverted trees (with shared branches) College Staff Department Staff Instructor Course Student Section Registration

74 Network Database Model Multiple inverted trees (with shared branches) College Staff Department Staff Instructor Course Student Section Registration

75 Network Database Model Multiple inverted trees (with shared branches) College Staff Department Staff Instructor Course Student Section Registration

76 Network Database Model Multiple inverted trees (with shared branches) College Staff Department Staff Instructor Course Student Section Registration

77 Hierarchical Database Model The hierarchical model is similar to the network model in the sense that data and relationships among data are represented by records and links, respectively. It differs from the network model in that records are organized as collection of trees rather than arbitrary graphs.

78 Hierarchical Database Model Inverted tree (with single root) Parent - child College Department Instructor

79 Hierarchical Database Model Inverted tree (with single root) Parent - child College Staff Department Staff Instructor

80 Hierarchical Database Model Inverted tree (with single root) Parent - child College Staff Department Staff Instructor Course/Section

81 Hierarchical Database Model Inverted tree (with single root) Parent - child College Staff Department Staff Instructor Course/Section Student/Reg

82 Intro to Distributed Databases In a distributed database system, the database is stored on several computers. The computers in a distributed system (DS) communicate with one another through various communication media, such as high-speed buses or telephone lines. They do not share main memory, nor do they share a clock.

83 DB1 DB2 Monitoring server DB3 DB4

84 The processors in a DS may vary in size and function. They may include small micro computers, work stations, mini computers, and large general-purpose computer systems.

85 Structure of DDB A DDB system consists of a collection of sites (processors), each of which may participate in the execution of transactions which access data at one site, or several sites. Each site is able to process local transactions, those transactions that access data only in that single site. In addition, a site may participate in the execution of global transactions, those transactions that access data in several sites. The execution of global transactions requires communication among the sites. The sites in the system can be connected physically in a variety of ways. The various topologies are represented as graphs whose nodes correspond to sites.

86 The major differences among these configurations involve: Installation cost. Communication cost. Reliability. Availability.

87 Advantages of distributed databases Data sharing and Distributed Control Reliability and Availability Speedup of Query processing

88 Disadvantages of DDB Software development cost. Greater potential for bugs. Increased processing overhead.

89 Relational Data Model

90 A Brief History of Data Models 1950s file systems, punched cards 1960s hierarchical IMS (Information Management System) 1970s network CODASYL(Conference/Committee on Data Systems Languages), IDMS (Integrated Database Management System) 1980s relational INGRES, ORACLE, DB2, Sybase Paradox, dbase 1990s object oriented and object relational O2, GemStone, Ontos

91 Relational Model Sets collections of items of the same type no order no duplicates Mappings domain 1:many range many:1 1:1 many:many

92 COURSE Courseno Subject Lecturer Machine CS250 Programming Linden Sun CS260 Graphics Hrutik Sun CS270 Micros Woods PC CS290 Verification Barringer Sun

93 Relational Model Notes no duplicate tuples in a relation a relation is a set of tuples no ordering of tuples in a relation a relation is a set attributes of a relation have an implied ordering but used as functions and referenced by name, not position every tuple must have attribute values drawn from all of the domains of the relation or the special value NULL all a domain s values and hence attribute s values are atomic.

94 Comparative Terms Formal Relation schema Relation Tuple Attribute Domain Oracle Table description Table Row Column Value set Notation Course (courseno, subject, equipment) Student(studno,name,hons) Enrol(studno,courseno,labmark)

95 Keys SuperKey a set of attributes whose values together uniquely identify a tuple in a relation Candidate Key a superkey for which no proper subset is a superkey a key that is minimal. Can be more than one for a relation Primary Key a candidate key chosen to be the main key for the relation. One for each relation Keys can be composite

96 Foreign Key a set of attributes in a relation that exactly matches a (primary) key in another relation the names of the attributes don t have to be the same but must be of the same domain a foreign key in a relation A matching a primary key in a relation B represents a many:one relationship between A and B Student(studno,name,tutor,year) Staff(lecturer,roomno,appraiser)

97 STUDENT studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 STAFF lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer null

98 Referential Integrity Student(studno,name,tutor,year) Staff(lecturer,roomno,appraiser) CASCADE delete all matching foreign key tuples eg. STUDENT RESTRICT can t delete primary key tuple STAFF whilst a foreign key tuple STUDENT matches NULLIFY foreign key STUDENT.tutor set to null if the foreign key ids allowed to take on null

99 Entity Integrity and Nulls No part of a key can be null Attribute values Atomic Known domain STUDENT THREE categories of null values 1. Not applicable 2. Not known 3. Absent (not recorded) studno name hons tutor year thesis title Sometimes can be null s1 jones ca bush 2 null s2 brown cis kahn 2 null s3 smith null goble 2 null s4 bloggs ca goble 1 null s5 jones cs zobel 1 null s6 peters ca kahn 3 null

100 Relational Model General Simple Flexible Easy to query declaratively without programming But... Good design essential Integrity essential Poor semantics Relationships based on value-matching

101 stud no Relational Design name tutor roomno course no lab mark subject s1 jones bush 2.26 cs programming s1 jones bush 2.26 cs graphics s1 jones bush 2.26 cs electronics s2 brown kahn IT206 cs programming s2 brown kahn IT206 cs electronics s3 smith goble 2.82 cs electronics s4 bloggs goble 2.82 cs design s5 jones zobel 2.34 cs250 0 programming s6 peters kahn IT206 cs250 2 programming null null capon A14 null null null null null null null cs290 null specification s7 patel null null null null null

102 Informal guidelines Semantics of the attributes easy to explain relation doesn t mix concepts Reducing the redundant values in tuples Choosing attribute domains that are atomic Reducing the null values in tuples Disallowing spurious tuples

103 Definitions Cartesian Product The cartesian product () between n sets is the set of all possible combinations of the elements of those sets. Domain set of all possible values for an attribute; for attribute A, the domain is represented as dom(a). A domain has a format and a base data type. Relation Schema denoted by R(A 1, A 2,, A n ), is made up of relation name R and list of attributes A 1, A 2,, A n. Relation a subset of the cartesian product of its domains. Given a relation schema R, a relation on that schema r, a set of attributes A 1..A n for that relation then r(r) (dom(a 1 ) dom(a 2 )... dom(a n )) Attribute a function on a domain for each instance of the mapping or tuple Attribute Value the result of the attribute function. Each instance of the mapping is represented by one attribute value drawn from each domain or a special NULL value. Given a tuple t and an attribute A for a relation r, t[a]--> a, where a is the attribute s value for that tuple.

104 (N)-tuple a set of (n) attribute-value pairs representing a single instance of a relation s mapping between its domains. Degree the number of attributes a relation has. Cardinality a number of tuples a relation has. Roles several attributes can have the same domain; the attributes indicate different roles in the relation. Key (SuperKey) a set of attributes whose values together uniquely identify every tuple in a relation. Let t1 and t2 be two tuples on relation r of relation schema R, and sk be a set of attributes whose values are the key for the relation schema R, then t1[sk] t2[sk]. (Candidate) Key a (super)key that is minimal, i.e. has no proper subsets that still uniquely identify every tuple in a relation. There can be several for one relation. Primary Key a candidate key chosen to be the main key for the relation. There is only one for each relation. Foreign Key a candidate key of relation A situated in relation B. Database a set of relations.

105 Query Languages A query language is a language in which a user requests information from the database. These languages are typically of a higher level than standard programming languages. Query languages can be categorized as being either procedural or non-procedural.

106 Procedural : The user instructs the system to perform a sequence of operations to retrieve the desired information from the database Non-Procedural: The user describes the information desired without giving a specific procedure for obtaining that information.

107 Relational Algebra p

108 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model supports simple, powerful QLs: Strong formal foundation based on logic. Allows for much optimization. Query Languages!= programming languages! QLs not expected to be Turing complete. QLs not intended to be used for complex calculations. QLs support easy, efficient access to large data sets.

109 Formal Relational Query Languages Two mathematical Query Languages form the basis for real languages (e.g. SQL), and for implementation: Relational Algebra: More operational, very useful for representing execution plans. Relational Calculus: Lets users describe what they want, rather than how to compute it. (Non-procedural, declarative.) * Understanding Algebra & Calculus is key to understanding SQL, query processing!

110 s A query is applied to relation instances, and the result of a query is also a relation instance. Schemas of input relations for a query are fixed (but query will run over any legal instance) The schema for the result of a given query is also fixed. It is determined by the definitions of the query language constructs. Positional vs. named-field notation: Positional notation easier for formal definitions, named-field notation more readable. Both used in SQL

111 Relational Algebra: 5 Basic Operations Selection ( ) Selects a subset of rows from relation (horizontal). p Projection ( ) Retains only wanted columns from relation (vertical). Cross-product (x) Allows us to combine two relations. Set-difference ( ) Tuples in r1, but not in r2. Union ( ) Tuples in r1 and/or in r2. Since each operation returns a relation,

112 Example R1 sid bid day /10/ /12/96 Instances bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red Boats Bid=boat id Sailors Sid= sailor id S1 S2 sid sname rating age 22 dustin lubber rusty sid sname rating age 28 yuppy lubber guppy rusty

113 Projection p Examples: age ( S2) ; p ( S2) sname, rating Retains only attributes that are in the projection list. Schema of result: exactly the fields in the projection list, with the same names that they had in the input relation. Projection operator has to eliminate duplicates (How do they arise? Why remov them?) Note: real systems typically don t do duplicate elimination unless the user explicitly asks for it.

114 Projection sid sname rating age 28 yuppy lubber guppy rusty S2 sname yuppy 9 lubber 8 guppy 5 rusty 10 rating p ( S2) sname, rating age p age ( S2)

115 Selection () Selects rows that satisfy selection condition. Result is a relation. Schema of result is same as that of the input relation. Do we need to do duplicate elimination? sid sname rating age 28 yuppy lubber guppy rusty rating S 8 2 sname rating yuppy 9 rusty 10 ( ( S )) sname, rating rating8 2 ( ) p

116 Union and Set-Difference All of these operations take two input relations, which must be union-compatible: Same number of fields. `Corresponding fields have the same type. For which, if any, is duplicate elimination required?

117 Union sid sname rating age 22 dustin lubber rusty S1 sid sname rating age 28 yuppy lubber guppy rusty S2 sid sname S1 S2 rating age 22 dustin lubber rusty guppy yuppy

118 Set Difference sid sname rating age 22 dustin lubber rusty S1 sid sname rating age 28 yuppy lubber guppy rusty S2 sid sname rating age 22 dustin S1 S2 sid sname rating age 28 yuppy guppy S2 S1

119 Cross-Product S1 x R1: Each row of S1 paired with each row of R1. Q: How many rows in the result? Result schema has one field per field of S1 and R1, with field names `inherited if possible. May have a naming conflict: Both S1 and R1 have a field with the same name. In this case, can use the renaming operator: ( C( 1sid1, 5sid2), S1 R1 )

120 Cross Product sid bid R1 Example day /10/ /12/96 sid sname rating age 22 dustin lubber rusty S1 R1 X S1 = (sid) sname rating age (sid) bid day 22 dustin /10/9 22 dustin /12/9 31 lubber /10/9 31 lubber /12/9 58 rusty /10/9 58 rusty /12/9

121 Compound Operator: Intersection In addition to the 5 basic operators, there are several additional Compound Operators These add no computational power to the language, but are useful shorthands. Can be expressed solely with the basic ops. Intersection takes two input relations, which must be union-compatible. Q: How to express it using basic operators?

122 Intersection sid sname rating age 22 dustin lubber rusty S1 sid sname rating age 28 yuppy lubber guppy rusty S2 sid sname rating age 31 lubber rusty S1 S2

123 Compound Operator: Join Joins are compound operators involving cross product, selection, and (sometimes) projection. Most common type of join is a natural join (often just called join ). R S conceptually is: Compute R X S Select rows where attributes that appear in both relations have equal values Project all unique atttributes and one copy of each of the common ones. Note: Usually done much more efficiently than this. Useful for putting normalized relations back together.

124 sid bid R1 R1 S1 = day /10/ /12/96 Natural Join Example sid sname rating age 22 dustin lubber rusty S1 sid sname rating age bid day 22 dustin /10/96 58 rusty /12/96

125 Other Types of Joins Condition Join (or theta-join ): R c S c ( RS) Result schema same as that of crossproduct. May have fewer tuples than crossproduct. Equi-Join: Special case: condition c contains only conjunction of equalities.

126 sid bid day /10/ /12/96 R1 S1 S1.sidR1.sid R1 = Theta Join Example sid sname rating age 22 dustin lubber rusty S1 (sid) sname rating age (sid) bid day 22 dustin /12/96 31 lubber /12/96

127 Compound Operator: Divisio Useful for expressing for all queries like: Find sids of sailors who have reserved all boats. For A/B attributes of B are subset of attrs of A. May need to project to make this happen. E.g., let A have 2 fields, x and y; B have A Bonly field x y: y B( x,y A)

128 sno s1 s1 s1 s1 s2 s2 s3 s4 s4 A pno p1 p2 p3 p4 p1 p2 p2 p2 p4 Examples of Division A/B pno p2 B1 sno s1 s2 s3 s4 pno p2 p4 B2 sno s1 s4 pno p1 p2 p4 B3 sno s1 A/B1 A/B2 A/B3

129 Expressing A/B Using Basic Operators Division is not essential op; just a useful shorthand. (Also true of joins, but joins are so common that systems implement joins specially.) Idea: For A/B, compute all x values that are not `disqualified by some y value in B. Disqualified x value is disqualified x values: if pby attaching y value from B, x (( p x ( A) B) A) we obtain an xy tuple that is not in A. A/B: p x ( A) Disqualified x values

130 Examples Sailors Reserves sid bid day /10/ /12/96 sid sname rating age 22 dustin lubber rusty Boats bid bname color 101 Interlake Blue 102 Interlake Red 103 Clipper Green 104 Marine Red

131 Find names of sailors who ve reserved boat #10 Solution 1: p (( Re serves) Sailors) sname bid 103 Solution 2: p sname( (Re serves Sailors)) bid 103

132 Find names of sailors who ve reserved a red bo Information about boat color only available in Boats; so need an extra join: p sname (( Boats) Re serves Sailors) color ' red' v A more efficient (???) solution: p sname (p sid ((p bid ( color'red ' Boats))Res)Sailors) * A query optimizer can find this given the first solution!

133 Find sailors who ve reserved a red or a green b Can identify all red or green boats, then find sailors who ve reserved one of these boats: ( Tempboats,( )) color ' red ' color ' green' Boats p sname ( Tempboats Re serves Sailors)

134 Find sailors who ve reserved a red and a green boat Previous approach won t work! Must identify sailors who ve reserved red boats, sailors who ve reserved green boats, then find ( Tempred the intersection, p (( (note that Boats sid is ) a key Re serves for )) Sailors): sid color ' red ' ( Tempgreen, p (( sid color ' green' Boats) Re serves)) p sname (( Tempred Tempgreen) Sailors)

135 Find the names of sailors who ve reserved all boats Uses division; schemas of the input relations to / must be carefully chosen: ( Tempsids, ( p Re serves) / ( p )) sid, bid bid Boats p sname ( Tempsids Sailors) v To find sailors who ve reserved all Interlake boats:... / p ( ) bid bname' Interlake' Boats

136 Relational Calculus

137 Relational Calculus Comes in two flavors: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus has variables, constants, comparison ops, logical connectives and quantifiers. TRC: Variables range over (i.e., get bound to) tuples. DRC: Variables range over domain elements (= field values). Both TRC and DRC are simple subsets of first-order logic. Expressions in the calculus are called formulas. An answer tuple is essentially an assignment of constants to variables that make the formula evaluate to true.

138 Domain Relational Calculus(DRC) Query has the form: x1, x2,..., xn p x1, x2,..., xn Answer includes all tuples make the formula x1, x2,..., xn p x1, x2,..., xn that be true. Formula is recursively defined, starting with simple atomic formulas (getting tuples from relations or making comparisons of values), and building bigger and better formulas using the logical connectives.

139 Atomic formula: DRC Formulas x1, x2,..., xn Rname,,,,,, or X op Y, or X op constant op is one of Formula: an atomic formula, or p, p q, pq X ( p( X)) X ( p( X)), where p and q are formulas, or, where variable X is free in p(x), or, where variable X is free in p(x) X The use of quantifiers and is said to bind X. A variable that is not bound is free. X

140 Free and Bound Variables The use of quantifiers X and X in a formula is said to bind X. A variable that is not bound is free. Let us revisit the definition of a query: x1, x2,..., xn p x1, x2,..., xn There is an important restriction: the variables x1,..., xn that appear to the left of ` must be the only free variables in the formula p(...).

141 Find all sailors with a rating above 7 I, N, T, A I, N, T, A Sailors T 7 The condition I, N, T, A Sailors ensures that the domain variables I, N, T and A are bound to fields of the same Sailors tuple. I, N, T, A The term to the left of ` (which I, N, T, A should be read as such that) says that every tuple that satisfies T>7 is in the answer. Modify this query to answer: Find sailors who are older than 18 or have a rating

142 Find sailors rated > 7 who ve reserved boat #103 I, N, T, A I, N, T, A Sailors T 7 Ir, Br, D Ir, Br, D Reserves Ir I Br 103 We have used Ir, Br, D... as a shorthand for Ir Br D... Note the use of to find a tuple in Reserves that `joins with the Sailors tuple under consideration.

143 Find sailors rated > 7 who ve reserved a red boat I, N, T, A I, N, T, A Sailors T 7 Ir, Br, D Ir, Br, D Reserves Ir I B, BN, C B, BN, C Boats B Br C ' red' Observe how the parentheses control the scope of each quantifier s binding. This may look cumbersome, but with a good user interface, it is very intuitive. (MS Access, QBE)

144 Find sailors who ve reserved all boats I, N, T, A I, N, T, A Sailors B, BN, C B, BN, C Boats Ir, Br, D Ir, Br, D Reserves I Ir Br B B, BN, C Find all sailors I such that for each 3-tuple either it is not a tuple in Boats or there is a tuple in Reserves showing that sailor I has reserved it.

145 Find sailors who ve reserved all boats (again!) I, N, T, A I, N, T, A Sailors B, BN, C Boats Ir, Br, D Reserves I Ir Br B Simpler notation, same query. (Much clearer!) To find sailors who ve reserved all red boats:... C ' red ' Ir, Br, D Reserves I Ir Br B

146 Unsafe Queries, Expressive Power It is possible to write syntactically correct calculus queries that have an infinite number of answers! Such queries are called unsafe. e.g., S S Sailors It is known that every query that can be expressed in relational algebra can be expressed as a safe query in DRC / TRC; the converse is also true. Relational Completeness: Query language (e.g., SQL) can express every query that is expressible in relational algebra/calculus.

147 Summary Relational calculus is non-operational, and users define queries in terms of what they want, not in terms of how to compute it. (Declarativeness.) Algebra and safe calculus have same expressive power, leading to the notion of relational completeness.

148 Entity-Relationship Model Chap-2

149 ER Model Basics ssn name lot Employees Entity: Real-world object distinguishable from other objects. An entity is described (in DB) using a set of attributes. Entity Set: A collection of similar entities. E.g., all employees. All entities in entity set have same set of attributes. Each entity set has a key. Each attribute has a domain.

150 ER Model Basics (Contd.) Relationship: Association among two or more entities. E.g., Ashoo works in Pharmacy depart. Relationship Set: Collection of similar relationships. An n-ary relationship set R relates n entity sets E1... En; each relationship in R involves entities e1 from E1,..., en from En Same entity set could participate in different relationship sets, or in different roles in same set.

151 ER Model Basics (Contd.) name since dname ssn lot did budget Employees Works_In Departments Relationship: Association among two or more entities.

152 ER Model Basics (Contd.) name ssn lot Employees subordinate supervisor Relationship: Reports_To Same entity set could participate in different relationship sets, or in different roles in the same set.

153 Key Constraints 1-to-1 1-to Many Many-to-1 Many-to-Many

154 Which key constraint? name since dname ssn lot did budget Employees Works_In Departments

155 Key constraints name since dname ssn lot did budget Employees Works_In Departments Consider Works_In: An employee can work in many departments; and a dept can have many employees.

156 Which key constraint? name since dname ssn lot did budget Employees Works_In Departments 1-to-1 1-to Many Many-to-1 Many-to-Many

157 Which Key Constraint Case?? Consider Manager Relationship? name ssn lot Employees since Manages dname did budget Departments

158 Which Key Constraint Case?? Consider Manager Relationship? name ssn lot Employees since Manages dname did budget Departments Each dept has at most one manager. 1-to-1 1-to Many Many-to-1 Many-to-Many

159 Key Constraint: 1 - to - many Each dept has at most one manager, according to the key constraint on Manages. since name ssn lot Employees Manages since name ssn lot Employees [0:n] Manages did did dname Departments dname [0:1] Departments budget budget

160 Key Constraints name since dname ssn lot did budget Consider Works_In: An employee can work in many departments; a dept can have many employees. In contrast, each dept has at most one manager, according to the key constraint on Manages. Employees Manages 1-to-1 1-to Many Many-to-1 Departments Many-to-Many

161 Participation Constraints Must every department have a manager? ssn name lot since did dname budget Employees? Manages? Departments

162 Participation Constraints If every department has a manager, then this is a participation constraint: the participation of Departments in Manages is said to be total (vs. partial). name since dname ssn lot did budget Employees? Manages? Departments

163 Participation Constraints Or, put differently, every did value in Departments table must appear in a row of the Manages table (with a non-null ssn value!) name since dname ssn lot did budget Employees? Manages? Departments

164 Participation Constraints Every department must have a manager! ssn name lot since did dname budget Employees Manages Departments

165 Participation Constraints? name since dname ssn lot did budget Employees Works_In Departments

166 Weak Entities A weak entity can be identified uniquely only by considering the primary key of another (owner) entity. ssn name lot cost pname age Employees Policy Dependents

167 Weak Entities weak entity identified uniquely only by considering primary key of another (owner) entity. Owner entity set and weak entity set must participate in a one-to-many relationship set (one owner, many weak entities). Weak entity set must have total participation in this identifying relationship set. ssn name lot cost pname age Employees Policy Dependents

168 ISA (`is a ) Hierarchies 1. As in C++, or other PLs, attributes are inherited. 2. If we declare A ISA B, every A entity is also considered to be a B entity. ssn name lot Employees hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps

169 ISA (`is a ) Hierarchies ssn Implicit Relationship Between Super- And Subentity? 1-1? hourly_wages hours_worked Hourly_Emps name Employees ISA lot contractid Contract_Emps Reasons for using ISA: To add descriptive attributes specific to a subclass. To identify entities that participate in a relationship.

170 ISA (`is a ) Hierarchies ssn name lot Employees hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps Overlap constraints: Can Joe be Hourly_Emps as well as Contract_Emps entity? (Allowed/disallowed) Covering constraints: Does every Employees entity also have to be an Hourly_Emps or a Contract_Emps entity? (Yes/no)

171 Aggregation ssn name lot Employees Monitors until pid started_on pbudget since did dname budget Projects Sponsors Departments Used when we have to model a relationship involving entity sets and a relationship set.

172 Aggregation ssn name lot Employees Monitors until pid started_on pbudget since did dname budget Projects Sponsors Departments Aggregation allows us to treat a relationship set as an entity set for purposes of participation in (other) relationships

173 Aggregation ssn name lot Employees Monitors until pid started_on pbudget since did dname budget Projects Sponsors Departments * Aggregation vs. ternary relationship: v Monitors is a distinct relationship, with a descriptive attribute. v Also, can say that each sponsorship is monitored by at most one employee.

174 Summary of Conceptual/ ER Design Conceptual design follows requirements analysis, Yields a high-level description of data to be stored ER model popular for conceptual design Constructs are expressive, close to the way people think about their applications. Basic constructs: entities, relationships, and attributes (of entities and relationships). Some additional constructs: weak entities, ISA hierarchies, and aggregation. Note: There are many variations on ER model.

175 Summary of ER (Contd.) Several kinds of integrity constraints can be expressed in ER model: key constraints, participation constraints, and overlap/covering constraints for ISA hierarchies. Some foreign key constraints also implicit in definition of a relationship set. Some constraints (notably, functional dependencies) cannot be expressed in the ER model. Constraints play an important role in determining the best database design for an enterprise.

176 The Real World real customers The Model customer surrogates

177 Entity Type and entity surrogates airport entity type names must be unique

178 Single-valued Properties airport airport name Hartsfield Kastrup Logan property values are lexical, visible, audible,.they are things that name other things

179 Identifying Properties airport code atl cph bos lax airport for each identifying property value there is at most one instance of the identified entity every entity must be uniquely referenceable

180 Multi-valued Properties weekdays mo we th mo mo we th su flt-schedule

181 Composite Properties airport street airport city airport zip airport airport address 1 Flughafen St 400 Flight Av 12 Logan Rd Hamburg Denver Boston

182 1-1 relationship types 1 1 current marriage femalecustomer malecustomer partial functions the names of multiple relationship types between the same two entity types must

183 0-N and 1-N relationship types airport 1 N from flt-schedule partial function

184 Mandatory 0-N and 1-N relationship types airport 1 N from flt-schedule total function

185 N-M relationship types customer N reservation M flt-instance

186 many ternary relationship types cannot be reduced to a conjunction of binary relationship types N-ary relationship types L supply M plane-part supplier# N quantity part# flt-repairorder repairorder# plane-partsupplier

CIS 330: Applied Database Systems. ER to Relational Relational Algebra

CIS 330: Applied Database Systems. ER to Relational Relational Algebra CIS 330: Applied Database Systems ER to Relational Relational Algebra 1 Logical DB Design: ER to Relational Entity sets to tables: ssn name Employees lot CREATE TABLE Employees (ssn CHAR(11), name CHAR(20),

More information

CS530 Database Architecture Models. Database Model. Prof. Ian HORROCKS. Dr. Robert STEVENS. and Design The Relational

CS530 Database Architecture Models. Database Model. Prof. Ian HORROCKS. Dr. Robert STEVENS. and Design The Relational 02 - The Relational Database Model CS530 Database Architecture Models and Design Prof. Ian HORROCKS Dr. Robert STEVENS In this Section Topics Covered The basics of the relational model in the context of

More information

Relational Algebra and Calculus. Relational Query Languages. Formal Relational Query Languages. Yanlei Diao UMass Amherst Feb 1, 2007

Relational Algebra and Calculus. Relational Query Languages. Formal Relational Query Languages. Yanlei Diao UMass Amherst Feb 1, 2007 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke 1 Relational Query Languages A major strength of the relational model: supports simple

More information

Relational Algebra. Relational Query Languages

Relational Algebra. Relational Query Languages Relational Algebra π CS 186 Fall 2002, Lecture 7 R & G, Chapter 4 By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect,

More information

Relational Algebra 1

Relational Algebra 1 Relational Algebra 1 Relational Query Languages v Query languages: Allow manipulation and retrieval of data from a database. v Relational model supports simple, powerful QLs: Strong formal foundation based

More information

Why Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages

Why Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages Why Study the Relational Model? The Relational Model Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. Legacy systems in older models E.G., IBM s IMS Recent competitor: object-oriented

More information

Relational Query Languages. Relational Algebra. Preliminaries. Formal Relational Query Languages. Relational Algebra: 5 Basic Operations

Relational Query Languages. Relational Algebra. Preliminaries. Formal Relational Query Languages. Relational Algebra: 5 Basic Operations Relational Algebra R & G, Chapter 4 By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of

More information

CAS CS 460/660 Introduction to Database Systems. Relational Algebra 1.1

CAS CS 460/660 Introduction to Database Systems. Relational Algebra 1.1 CAS CS 460/660 Introduction to Database Systems Relational Algebra 1.1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model supports simple,

More information

Relational Algebra. [R&G] Chapter 4, Part A CS4320 1

Relational Algebra. [R&G] Chapter 4, Part A CS4320 1 Relational Algebra [R&G] Chapter 4, Part A CS4320 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model supports simple, powerful QLs:

More information

Relational Algebra. Chapter 4, Part A. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Relational Algebra. Chapter 4, Part A. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Relational Algebra Chapter 4, Part A Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database.

More information

MIS Database Systems Relational Algebra

MIS Database Systems Relational Algebra MIS 335 - Database Systems Relational Algebra http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Basics of Query Languages Relational Algebra Selection Projection Union, Intersection,

More information

Database Management Systems. Chapter 4. Relational Algebra. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Database Management Systems. Chapter 4. Relational Algebra. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Database Management Systems Chapter 4 Relational Algebra Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Formal Relational Query Languages Two mathematical Query Languages form the basis

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) ER to Relational & Relational Algebra Lecture 4, January 20, 2015 Mohammad Hammoud Today Last Session: The relational model Today s Session: ER to relational Relational algebra

More information

The Entity-Relationship Model. Overview of Database Design

The Entity-Relationship Model. Overview of Database Design The Entity-Relationship Model Chapter 2, Chapter 3 (3.5 only) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.)

More information

Relational algebra. Iztok Savnik, FAMNIT. IDB, Algebra

Relational algebra. Iztok Savnik, FAMNIT. IDB, Algebra Relational algebra Iztok Savnik, FAMNIT Slides & Textbook Textbook: Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGraw-Hill, 3 rd ed., 2007. Slides: From Cow Book : R.Ramakrishnan,

More information

CIS 330: Web-driven Web Applications. Lecture 2: Introduction to ER Modeling

CIS 330: Web-driven Web Applications. Lecture 2: Introduction to ER Modeling CIS 330: Web-driven Web Applications Lecture 2: Introduction to ER Modeling 1 Goals of This Lecture Understand ER modeling 2 Last Lecture Why Store Data in a DBMS? Transactions (concurrent data access,

More information

Database Management System. Relational Algebra and operations

Database Management System. Relational Algebra and operations Database Management System Relational Algebra and operations Basic operations: Selection ( ) Selects a subset of rows from relation. Projection ( ) Deletes unwanted columns from relation. Cross-product

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model Chapter 2 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.) What are the entities

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model Chapter 2 Instructor: Vladimir Zadorozhny vladimir@sis.pitt.edu Information Science Program School of Information Sciences, University of Pittsburgh 1 Database: a Set of Relations

More information

The Entity-Relationship Model. Overview of Database Design. ER Model Basics. (Ramakrishnan&Gehrke, Chapter 2)

The Entity-Relationship Model. Overview of Database Design. ER Model Basics. (Ramakrishnan&Gehrke, Chapter 2) The Entity-Relationship Model (Ramakrishnan&Gehrke, Chapter 2) CS 432 Fall 2007 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.) What are the entities and relationships

More information

CSCC43H: Introduction to Databases. Lecture 3

CSCC43H: Introduction to Databases. Lecture 3 CSCC43H: Introduction to Databases Lecture 3 Wael Aboulsaadat Acknowledgment: these slides are partially based on Prof. Garcia-Molina & Prof. Ullman slides accompanying the course s textbook. CSCC43: Introduction

More information

Relational Algebra Homework 0 Due Tonight, 5pm! R & G, Chapter 4 Room Swap for Tuesday Discussion Section Homework 1 will be posted Tomorrow

Relational Algebra Homework 0 Due Tonight, 5pm! R & G, Chapter 4 Room Swap for Tuesday Discussion Section Homework 1 will be posted Tomorrow Relational Algebra R & G, Chapter 4 By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) Relational Algebra Lecture 5, January 24, 2016 Mohammad Hammoud Today Last Session: The relational model Today s Session: Relational algebra Relational query languages (in

More information

Relational Calculus. Chapter Comp 521 Files and Databases Fall

Relational Calculus. Chapter Comp 521 Files and Databases Fall Relational Calculus Chapter 4.3-4.5 Comp 521 Files and Databases Fall 2010 1 Relational Calculus Comes in two flavors: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus has

More information

Relational Calculus. Chapter Comp 521 Files and Databases Fall

Relational Calculus. Chapter Comp 521 Files and Databases Fall Relational Calculus Chapter 4.3-4.5 Comp 521 Files and Databases Fall 2016 1 Relational Calculus Comes in two flavors: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus has

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model Chapter 2 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.) What are the entities

More information

Introduction to Database Design. Dr. Kanda Runapongsa Dept of Computer Engineering Khon Kaen University

Introduction to Database Design. Dr. Kanda Runapongsa Dept of Computer Engineering Khon Kaen University Introduction to Database Design Dr. Kanda Runapongsa (krunapon@kku.ac.th) Dept of Computer Engineering Khon Kaen University Overview What are the steps in designing a database? Why is the ER model used

More information

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald CS/INFO 330 Entity-Relationship Modeling Mirek Riedewald mirek@cs.cornell.edu Announcements Office hour update (see class homepage) First homework assignment will be available from CMS later today Some

More information

Contents. Database. Information Policy. C03. Entity Relationship Model WKU-IP-C03 Database / Entity Relationship Model

Contents. Database. Information Policy. C03. Entity Relationship Model WKU-IP-C03 Database / Entity Relationship Model Information Policy Database C03. Entity Relationship Model Code: 164323-03 Course: Information Policy Period: Spring 2013 Professor: Sync Sangwon Lee, Ph. D 1 Contents 01. Overview of Database Design 02.

More information

Relational Algebra. Study Chapter Comp 521 Files and Databases Fall

Relational Algebra. Study Chapter Comp 521 Files and Databases Fall Relational Algebra Study Chapter 4.1-4.2 Comp 521 Files and Databases Fall 2010 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model

More information

The Entity-Relationship (ER) Model

The Entity-Relationship (ER) Model The Entity-Relationship (ER) Model (Study Cow book Chapter 2) Comp 521 Files and Databases Fall 2012 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.) What are the entities

More information

v Conceptual Design: ER model v Logical Design: ER to relational model v Querying and manipulating data

v Conceptual Design: ER model v Logical Design: ER to relational model v Querying and manipulating data Outline Conceptual Design: ER model Relational Algebra Calculus Yanlei Diao UMass Amherst Logical Design: ER to relational model Querying and manipulating data Practical language: SQL Declarative: say

More information

Relational Query Languages

Relational Query Languages 1 ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION JING YANG 2010 FALL Class 9: The Relational Algebra and Relational Calculus Relational Query Languages 2 Query languages: Allow manipulation and retrieval

More information

Overview of db design Requirement analysis Data to be stored Applications to be built Operations (most frequent) subject to performance requirement

Overview of db design Requirement analysis Data to be stored Applications to be built Operations (most frequent) subject to performance requirement ITCS 3160 Data Base Design and Implementation Jing Yang 2010 Fall Class 12: Data Modeling Using the Entity-Relationship (ER) Model Overview of db design Requirement analysis Data to be stored Applications

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Entity Relationship Model Lecture 2, January 15, 2014 Mohammad Hammoud Today Last Session: Course overview and a brief introduction on databases and database systems

More information

OVERVIEW OF DATABASE DEVELOPMENT

OVERVIEW OF DATABASE DEVELOPMENT DATABASE SYSTEMS I WEEK 2: THE ENTITY-RELATIONSHIP MODEL OVERVIEW OF DATABASE DEVELOPMENT Requirements Analysis / Ideas High-Level Database Design Conceptual Database Design / Relational Database Schema

More information

The Entity-Relationship Model. Steps in Database Design

The Entity-Relationship Model. Steps in Database Design The Entity-Relationship Model Steps in Database Design 1) Requirement Analysis Identify the data that needs to be stored data requirements Identify the operations that need to be executed on the data functional

More information

High Level Database Models

High Level Database Models ICS 321 Fall 2011 High Level Database Models Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 9/21/2011 Lipyeow Lim -- University of Hawaii at Manoa 1 Database

More information

The Relational Model. Chapter 3

The Relational Model. Chapter 3 The Relational Model Chapter 3 Why Study the Relational Model? Most widely used model. Systems: IBM DB2, Informix, Microsoft (Access and SQL Server), Oracle, Sybase, MySQL, etc. Legacy systems in older

More information

MIS Database Systems Entity-Relationship Model.

MIS Database Systems Entity-Relationship Model. MIS 335 - Database Systems Entity-Relationship Model http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database Design Main concepts in the ER model? ER Diagrams Database Design

More information

Relational Algebra. Note: Slides are posted on the class website, protected by a password written on the board

Relational Algebra. Note: Slides are posted on the class website, protected by a password written on the board Note: Slides are posted on the class website, protected by a password written on the board Reading: see class home page www.cs.umb.edu/cs630. Relational Algebra CS430/630 Lecture 2 Slides based on Database

More information

Introduction to Data Management. Lecture #11 (Relational Algebra)

Introduction to Data Management. Lecture #11 (Relational Algebra) Introduction to Data Management Lecture #11 (Relational Algebra) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements v HW and exams:

More information

The Entity-Relationship (ER) Model 2

The Entity-Relationship (ER) Model 2 The Entity-Relationship (ER) Model 2 Week 2 Professor Jessica Lin Keys Differences between entities must be expressed in terms of attributes. A superkey is a set of one or more attributes which, taken

More information

The Relational Model 2. Week 3

The Relational Model 2. Week 3 The Relational Model 2 Week 3 1 We have seen how to create a database schema, how do we create an actual database on our computers? professor(pid : string, name : string) course(pid : string, number :

More information

The Relational Model. Chapter 3. Database Management Systems, R. Ramakrishnan and J. Gehrke 1

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

More information

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Instructor: Chen Li

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Instructor: Chen Li Introduction to Data Management Lecture #3 (Conceptual DB Design) Instructor: Chen Li 1 Announcements v HW #1 is now available v Today s plan Conceptual DB design, cont. Advanced ER concepts 2 Weak Entities

More information

Database Management Systems. Chapter 3 Part 2

Database Management Systems. Chapter 3 Part 2 Database Management Systems Chapter 3 Part 2 The Relational Model Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Logical DB Design: ER to Relational Entity sets to tables: CREATE TABLE

More information

COMP Instructor: Dimitris Papadias WWW page:

COMP Instructor: Dimitris Papadias WWW page: COMP 5311 Instructor: Dimitris Papadias WWW page: http://www.cse.ust.hk/~dimitris/5311/5311.html Textbook Database System Concepts, A. Silberschatz, H. Korth, and S. Sudarshan. Reference Database Management

More information

Relational Algebra 1

Relational Algebra 1 Relational Algebra 1 Relational Algebra Last time: started on Relational Algebra What your SQL queries are translated to for evaluation A formal query language based on operators Rel Rel Op Rel Op Rel

More information

Database Management Systems. Chapter 2 Part 2

Database Management Systems. Chapter 2 Part 2 Database Management Systems Chapter 2 Part 2 Introduction to Database Design Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Class Hierarchies Classify entities sets into Super-class and

More information

Introduction to Database Design

Introduction to Database Design ICS 321 Fall 2009 Introduction to Database Design Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 09/03/2009 Lipyeow Lim -- University of Hawaii at Manoa

More information

High-Level Database Models (ii)

High-Level Database Models (ii) ICS 321 Spring 2011 High-Level Database Models (ii) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1 Logical DB Design: ER to Relational Entity sets to

More information

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall The Relational Model Chapter 3 Comp 521 Files and Databases Fall 2012 1 Why Study the Relational Model? Most widely used model by industry. IBM, Informix, Microsoft, Oracle, Sybase, etc. It is simple,

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Relational Model Lecture 3, January 18, 2015 Mohammad Hammoud Today Last Session: The entity relationship (ER) model Today s Session: ER model (Cont d): conceptual design

More information

Data Modeling. Yanlei Diao UMass Amherst. Slides Courtesy of R. Ramakrishnan and J. Gehrke

Data Modeling. Yanlei Diao UMass Amherst. Slides Courtesy of R. Ramakrishnan and J. Gehrke Data Modeling Yanlei Diao UMass Amherst Slides Courtesy of R. Ramakrishnan and J. Gehrke 1 Outline v Conceptual Design: ER Model v Relational Model v Logical Design: from ER to Relational 2 Conceptual

More information

Introduction to Database Systems. The Relational Data Model

Introduction to Database Systems. The Relational Data Model Introduction to Database Systems The Relational Data Model Werner Nutt 1 4. The Relational Data Model 4.1 Schemas 1. Schemas 2. Instances 3. Integrity Constraints 2 Different Schemas are Based on Different

More information

Introduction to Database Systems. The Relational Data Model. Werner Nutt

Introduction to Database Systems. The Relational Data Model. Werner Nutt Introduction to Database Systems The Relational Data Model Werner Nutt 1 4. The Relational Data Model 4.1 Schemas 1. Schemas 2. Instances 3. Integrity Constraints 2 Different Schemas are Based on Different

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

Relational Query Languages. Preliminaries. Formal Relational Query Languages. Example Schema, with table contents. Relational Algebra

Relational Query Languages. Preliminaries. Formal Relational Query Languages. Example Schema, with table contents. Relational Algebra Note: Slides are posted on the class website, protected by a password written on the board Reading: see class home page www.cs.umb.edu/cs630. Relational Algebra CS430/630 Lecture 2 Relational Query Languages

More information

Conceptual Design. The Entity-Relationship (ER) Model

Conceptual Design. The Entity-Relationship (ER) Model Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Database Design Overview Conceptual design The Entity-Relationship

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Entity Relationship Model Lecture 2, January 12, 2016 Mohammad Hammoud Today Last Session: Course overview and a brief introduction on databases and database systems

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 CS 186 Fall 2002: Lecture 2 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

More information

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall The Relational Model Chapter 3 Comp 521 Files and Databases Fall 2014 1 Why the Relational Model? Most widely used model by industry. IBM, Informix, Microsoft, Oracle, Sybase, MySQL, Postgres, Sqlite,

More information

The Relational Model. Outline. Why Study the Relational Model? Faloutsos SCS object-relational model

The Relational Model. Outline. Why Study the Relational Model? Faloutsos SCS object-relational model The Relational Model CMU SCS 15-415 C. Faloutsos Lecture #3 R & G, Chap. 3 Outline Introduction Integrity constraints (IC) Enforcing IC Querying Relational Data ER to tables Intro to Views Destroying/altering

More information

Operations of Relational Algebra

Operations of Relational Algebra ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION JING YANG 2010 FALL Class 11: The Relational Algebra and Relational Calculus (2) 2 Operations of Relational Algebra 1 3 Operations of Relational Algebra (cont

More information

Introduction to Database Design

Introduction to Database Design Introduction to Database Design UVic C SC 370 Daniel M German Introduction to Database Design (1.2.0) CSC 370 4/5/2005 14:52 p.1/33 Overview What are the steps in designing a database? What is the entity-relationship

More information

From ER to Relational Model. Book Chapter 3 (part 2 )

From ER to Relational Model. Book Chapter 3 (part 2 ) From ER to Relational Model Book Chapter 3 (part 2 ) Logical DB Design: ER to Relational Translate Entity sets to tables: ssn name Employees lot CREATE TABLE Employees (ssn CHAR(11), name CHAR(20), lot

More information

CSE 530A. ER Model. Washington University Fall 2013

CSE 530A. ER Model. Washington University Fall 2013 CSE 530A ER Model Washington University Fall 2013 Database Design Requirements Analysis Conceptual Database Design Creates an abstract model Logical Database Design Converts abstract model to concrete

More information

Database Systems ( 資料庫系統 )

Database Systems ( 資料庫系統 ) Database Systems ( 資料庫系統 ) 9.28.2011 Lecture #3 1 Course Administration Please download HW #1 from course homepage It is due 10/12/2011. This lecture: R&G Chapter 3 Next week reading: R&G Chapter 41~ 4.1

More information

Database Systems. Course Administration

Database Systems. Course Administration Database Systems ( ) September 20, 2004 Lecture #2 By Hao-hua Chu ( ) 1 Course Administration Can everyone get the textbook? HW #1 is out on the course homepage It is due one week from today. Next week

More information

Introduction to Database Design

Introduction to Database Design Introduction to Database Design UVic C SC 370, Fall 2002 Daniel M. German Department of Computer Science University of Victoria 2 1 Introduction to Database Design CSC 370 dmgerman@uvic.ca Overview What

More information

Database Systems. Lecture2:E-R model. Juan Huo( 霍娟 )

Database Systems. Lecture2:E-R model. Juan Huo( 霍娟 ) Database Systems Lecture2:E-R model Juan Huo( 霍娟 ) Reference slides: http://www.cs.wisc.edu/ dbbook Berkeley, Professor Eben Haber,Professor Mary Roth Review: Benefits of a DBMS 1. Data independence applications

More information

CIS 330: Applied Database Systems

CIS 330: Applied Database Systems 1 CIS 330: Applied Database Systems Lecture 3: Introduction to ER Modeling The Relational Model Johannes Gehrke johannes@cs.cornell.edu http://www.cs.cornell.edu/johannes Announcements How many laptops

More information

Relational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT )

Relational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT ) Topics Relational Model Linda Wu Relational model SQL language Integrity constraints ER to relational Views (CMPT 354 2004-2) Chapter 3 CMPT 354 2004-2 2 Why Study the Relational Model? Most widely used

More information

Database Technology Introduction. Heiko Paulheim

Database Technology Introduction. Heiko Paulheim Database Technology Introduction Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query Processing Transaction Manager Introduction to the Relational Model

More information

The Relational Model (ii)

The Relational Model (ii) ICS 321 Fall 2009 The Relational Model (ii) Asst. Prof. Lipyeow Lim Information and Computer Science Department University of Hawaii at Manoa 1 Internet Book Store Example Isbn title author qty price year

More information

Introduction to Data Management. Lecture #4 (E-R à Relational Design)

Introduction to Data Management. Lecture #4 (E-R à Relational Design) Introduction to Data Management Lecture #4 (E-R à Relational Design) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements v Reminders:

More information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

Introduction to Data Management. Lecture #13 (Relational Calculus, Continued) It s time for another installment of...

Introduction to Data Management. Lecture #13 (Relational Calculus, Continued) It s time for another installment of... Introduction to Data Management Lecture #13 (Relational Calculus, Continued) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 It s time for another

More information

Introduction to Data Management. Lecture #3 (Conceptual DB Design)

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Introduction to Data Management Lecture #3 (Conceptual DB Design) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements Reminders: Sign

More information

Relational Databases BORROWED WITH MINOR ADAPTATION FROM PROF. CHRISTOS FALOUTSOS, CMU /615

Relational Databases BORROWED WITH MINOR ADAPTATION FROM PROF. CHRISTOS FALOUTSOS, CMU /615 Relational Databases BORROWED WITH MINOR ADAPTATION FROM PROF. CHRISTOS FALOUTSOS, CMU 15-415/615 Roadmap 3 Introduction Integrity constraints (IC) Enforcing IC Querying Relational Data ER to tables Intro

More information

Database Design CENG 351

Database Design CENG 351 Database Design Database Design Process Requirements analysis What data, what applica;ons, what most frequent opera;ons, Conceptual database design High level descrip;on of the data and the constraint

More information

Overview of DB & IR. ICS 624 Spring Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa

Overview of DB & IR. ICS 624 Spring Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa ICS 624 Spring 2011 Overview of DB & IR Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1/12/2011 Lipyeow Lim -- University of Hawaii at Manoa 1 Example

More information

The Relational Model. Roadmap. Relational Database: Definitions. Why Study the Relational Model? Relational database: a set of relations

The Relational Model. Roadmap. Relational Database: Definitions. Why Study the Relational Model? Relational database: a set of relations The Relational Model CMU SCS 15-415/615 C. Faloutsos A. Pavlo Lecture #3 R & G, Chap. 3 Roadmap Introduction Integrity constraints (IC) Enforcing IC Querying Relational Data ER to tables Intro to Views

More information

Introduction to Data Management. Lecture #3 (Conceptual DB Design)

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Introduction to Data Management Lecture #3 (Conceptual DB Design) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements Today s plan:

More information

UNIT I. Introduction

UNIT I. Introduction UNIT I Introduction Objective To know the need for database system. To study about various data models. To understand the architecture of database system. To introduce Relational database system. Introduction

More information

CompSci 516: Database Systems

CompSci 516: Database Systems CompSci 516 Database Systems Lecture 4 Relational Algebra and Relational Calculus Instructor: Sudeepa Roy Duke CS, Fall 2018 CompSci 516: Database Systems 1 Reminder: HW1 Announcements Sakai : Resources

More information

SYLLABUS ADMIN DATABASE SYSTEMS I WEEK 2 THE ENTITY-RELATIONSHIP MODEL. Assignment #2 changed. A2Q1 moved to A3Q1

SYLLABUS ADMIN DATABASE SYSTEMS I WEEK 2 THE ENTITY-RELATIONSHIP MODEL. Assignment #2 changed. A2Q1 moved to A3Q1 DATABASE SYSTEMS I WEEK 2 THE ENTITY-RELATIONSHIP MODEL Class Time and Location: Tue 14:30-16:20 AQ3005 Thu 14:30-15:20 AQ3003 Course Website: http://www.cs.sfu.ca/cc/354/rfrank/ Instructor: Richard Frank,

More information

Today s topics. Null Values. Nulls and Views in SQL. Standard Boolean 2-valued logic 9/5/17. 2-valued logic does not work for nulls

Today s topics. Null Values. Nulls and Views in SQL. Standard Boolean 2-valued logic 9/5/17. 2-valued logic does not work for nulls Today s topics CompSci 516 Data Intensive Computing Systems Lecture 4 Relational Algebra and Relational Calculus Instructor: Sudeepa Roy Finish NULLs and Views in SQL from Lecture 3 Relational Algebra

More information

CONCEPTUAL DESIGN: ER TO RELATIONAL TO SQL

CONCEPTUAL DESIGN: ER TO RELATIONAL TO SQL RELATIONAL MODEL TO Data Model CONCEPTUAL DESIGN: ER TO RELATIONAL TO How to represent Entity sets, Relationship sets, Attributes, Key and participation constraints, Subclasses, Weak entity sets...? 2

More information

The Relational Model

The Relational Model The Relational Model UVic C SC 370, Fall 2002 Daniel M. German Department of Computer Science University of Victoria September 25, 2002 Version: 1.03 3 1 The Relational Model (1.03) CSC 370 dmgerman@uvic.ca

More information

CMPT 354 Database Systems I

CMPT 354 Database Systems I CMPT 354 Database Systems I Chapter 2 Entity Relationship Data Modeling Data models A data model is the specifications for designing data organization in a system. Specify database schema using a data

More information

RELATIONAL ALGEBRA AND CALCULUS

RELATIONAL ALGEBRA AND CALCULUS 4 RELATIONAL ALGEBRA AND CALCULUS Stand firm in your refusal to remain conscious during algebra. In real life, I assure you, there is no such thing as algebra. Fran Lebowitz, Social Studies This chapter

More information

Database Management Systems. Syllabus. Instructor: Vinnie Costa

Database Management Systems. Syllabus. Instructor: Vinnie Costa Database Management Systems Syllabus Instructor: Vinnie Costa vcosta@optonline.net CSC056-Z1 Database Management Systems Vinnie Costa Hofstra University 1 Course Description This course is designed to

More information

Entity-Relationship Diagrams

Entity-Relationship Diagrams Entity-Relationship Diagrams Fall 2017, Lecture 3 There is nothing worse than a sharp image of a fuzzy concept. Ansel Adams 1 Recall: Relational Database Management Relational DataBase Management Systems

More information

CS 146 Database Systems

CS 146 Database Systems DBMS CS 146 Database Systems Entity-Relationship (ER) Model CS 146 1 CS 146 2 A little history Progression of Database Systems In DBMS: single instance of data maintained and accessed by different users

More information

Comp 5311 Database Management Systems. 2. Relational Model and Algebra

Comp 5311 Database Management Systems. 2. Relational Model and Algebra Comp 5311 Database Management Systems 2. Relational Model and Algebra 1 Basic Concepts of the Relational Model Entities and relationships of the E-R model are stored in tables also called relations (not

More information

Introduction to Data Management. Lecture #14 (Relational Languages IV)

Introduction to Data Management. Lecture #14 (Relational Languages IV) Introduction to Data Management Lecture #14 (Relational Languages IV) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 It s time again for...

More information

VARDHAMAN COLLEGE OF ENGINEERING Shamshabad , Hyderabad B.Tech. CSE IV Semester (VCE - R11) T P C 3+1* -- 4 (A1511) DATABASE MANAGEMENT SYSTEMS

VARDHAMAN COLLEGE OF ENGINEERING Shamshabad , Hyderabad B.Tech. CSE IV Semester (VCE - R11) T P C 3+1* -- 4 (A1511) DATABASE MANAGEMENT SYSTEMS 1 VARDHAMAN COLLEGE OF ENGINEERING Shamshabad 501 218, Hyderabad B.Tech. CSE IV Semester (VCE - R11) T P C 3+1* -- 4 (A1511) DATABASE MANAGEMENT SYSTEMS UNIT - I INTRODUCTION: History of database systems,

More information

ER Model Overview. The Entity-Relationship Model. Database Design Process. ER Model Basics

ER Model Overview. The Entity-Relationship Model. Database Design Process. ER Model Basics ER Model Overview The Entity-Relationship Model Davood Rafiei Developed by Peter Chen in the mid 70 s Used for the design of conceptual schema. The world is described in terms of entities relationships

More information