* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Concurrency control wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Clusterpoint wikipedia , lookup
Relational algebra wikipedia , lookup
Chapter 14 Databases OBJECTIVES After reading this chapter, the reader should be able to: Understand a DBMS and define its components. Understand the architecture of a DBMS and its levels. Distinguish between different database models. Understand the concept of relational database operations on a relation. Use Structured Query Language (SQL) to define simple relations. 14.1 DATABASE MANAGEMENT SYSTEM DBMS Database – a collection of data that is logically coherent. DBMS – Database Management System defines, creates, and maintains a database. Allows users controlled access to data in the database. A combination of 5 components: Hardware Software Data Users Procedures Figure 14-1 DBMS components Hardware – the physical computer system that allows physical access to data. Software – the actual program that allows users to access, maintain, and update physical data. Data – stored physically on the storage devices Users – End users - Normal user and DBA (Database Administrator) Application programs Procedures – a set of rules that should be clearly defined and followed by the users. 14.2 ARCHITECTURE Figure 14-2 Database architecture Architecture Internal level – Determines where data are actually stored on the storage device. Low-level access method Conceptual level – Defines the logical view of the data The main functions of DBMS are in this level. External level – Interacts directly with the user. Change the data coming from the conceptual level to a format and view that are familiar to the users. 14.3 DATABASE MODELS Database models A database model defines the logical design of data. Describes the relationships between different parts of data. 3 models Hierarchical model Network model Relational model Figure 14-3 Hierarchical model Data are organized as an upside down tree. Each entity has only one parent but can have several children. Figure 14-4 Network model The entities are organized in a graph. Some entities can be accessed through several paths. Figure 14-5 Relational model Data are organized in two-dimensional tables called relations. The tables are related to each other. The most popular model. 14.4 RELATIONAL MODEL Relational model RDBMS (Relational Database Management System) external view The data are represented as a set of relations. A relation is a two-dimensional table. This doesn’t mean that data are stored as tables; the physical storage of the data is independent of the way the data are logically organized. Figure 14-6 Relation Name – each relation in a relational database should have a name that is unique among other relations. Attribute – each column in a relation. The degree of the relation – the total number of attributes for a relation. Tuple – each row in a relation. The cardinality of the relation – the total number of rows in a relation. 14.5 OPERATIONS ON RELATIONS Operations on relations In a relational database, we can define several operations to create new relations out of the existing ones. Basic operations: Insert Delete Update Select Project Join Union Intersection Difference Figure 14-7 Insert operation An unary operation. Insert a new tuple into the relation. Figure 14-8 Delete operation An unary operation. Delete a tuple defined by a criterion from the relation. Figure 14-9 Update operation An unary operation. Changes the value of some attributes of a tuple. Figure 14-10 Select operation An unary operation. It is applied to one single relation and creates another relation. The tuples in the resulting relation are a subset of the tuples in the original relation. Use some criteria to select Figure 14-11 Project operation An unary operation. It is applied to one single relation and creates another relation. The attributes in the resulting relation are a subset of the attributes in the original relation. Figure 14-12 Join operation A binary operation. Combines two relations based on common attributes. Figure 14-13 Union operation A binary operation. Creates a new relation in which each tuple is either in the first relation, in the second, or in both. The two relations must have the same attributes. Figure 14-14 Intersection operation A binary operation. Creates a new relation in which each tuple is a member in both relations. The two relations must have the same attributes. Figure 14-15 Difference operation A binary operation. Creates a new relation in which each tuple is in the first relation but not the second. The two relations must have the same attributes. 14.6 STRUCTURED QUERY LANGUAGE SQL (Structured Query Language) Standardized by ANSI and ISO for use on relational databases. It is a declarative (not procedural) language, which means that the users declare what they want without having to write a step-by-step procedure. First implemented by Oracle in 1979. SQL allows you to combine the following statements to extract more complex information from database. Insert insert into RELATION-NAME values ( … , … , … ) insert into COURSES values ( “CIS52”,”TCP/IP”, 6 ) Delete delete from RELATION-NAME where criteria delete from COURSES where No=“CIS19” Update update RELATION-NAME set attribute1=value1, where criteria update COURSES set Unit=6 where No=“CIS51” attribute2=value2, … Select select * from RELATION-NAME where criteria select * from COURSES where Unit=5 Project select attribute-list from RELATION-NAME select No, Unit from COURSES Join select attribute-list from RELATION1,RELATION2 where criteria select No,Course-Name,Unit,Professor from COURSES,TAUGHT-BY where COURSES.No=TAUGHT-BY.No Union select * from RELATION1 union select * from RELATION2 select * from CIS15-Roster union select * from CIS52-Roster Intersection select * from RELATION1 intersection select * from RELATION2 select * from CIS15-Roster intersection select * from CIS52-Roster Difference select * from RELATION1 minus select * from RELATION2 select * from CIS15-Roster minus select * from CIS52-Roster 14.7 OTHER DATABASE MODELS Distributed databases It is not a new model. It is based on relational model. The data are stored on several computers that communicate through the Internet or some private WAN. Data are either fragmented, with each fragment stored at one site, or data are replicated at each site. Fragmented distributed databases Replicated distributed databases Object-Oriented databases Some application like to see data as a structure such as a record made of fields. Tries to keep the adv. of the relational model and allows applications to access structured data. In an OODB, objects and their relations are defined. In addition, each object can have attributes that can be expressed as fields.