chapter 2 relational model chapter 2 relational model
play

Chapter 2: Relational Model Chapter 2: Relational Model Structure - PowerPoint PPT Presentation

Chapter 2: Relational Model Chapter 2: Relational Model Structure of Relational Databases Fundamental Relational-Algebra Operations Additional Relational-Algebra Operations Extended Relational-Algebra Operations Null


  1. Chapter 2: Relational Model

  2. Chapter 2: Relational Model • Structure of Relational Databases • Fundamental Relational-Algebra Operations • Additional Relational-Algebra Operations • Extended Relational-Algebra Operations • Null Values • Modification of the Database

  3. Example of a Relation

  4. Attribute Types • Each attribute of a relation has a name • Set of allowed values: domain of the attribute • Values (normally) required to be atomic; • indivisible • e.g., Downtown , but not {Downtown, Mianus} • Domain is said to be atomic if all its members are atomic • Special value null : member of every domain • unknown or non-existent value • The null value causes complications in the definition of many operations • We shall ignore the effect of null values in our main presentation and consider their effect later 4

  5. Domains and Tuples • Domain D 1 : set of all account numbers, similarly D 2 , D 3 • Every row: tuple of 3 values ( v 1 , v 2 , v 3 ) • Table account � all such tuples

  6. Relation Schema • Given domains D 1 , D 2 , …. D n a relation r is a subset of D 1 x D 2 x … x D n ( cartesian product ) Thus, a relation is a set of tuples (a1, a2, …, an) Tuple Row where each ai � Di Relation Table • Schema of a relation consists of General Math • attribute definitions • name • type/domain • integrity constraints

  7. Schema and Relations Account_schema = (account_number, branch_name, balance) Schema account(Account_schema) Relation from a schema Relation instance

  8. ⇒ Relation Instance • The current values (relation instance) of a relation are specified by a table • An element t of r is a tuple, represented by a row in a table • Order of tuples is irrelevant (tuples may be stored in an arbitrary order) attributes (or columns) customer_city customer_name customer_street Jones Main Harrison tuples Smith North Rye (or rows) Curry North Rye Lindsay Park Pittsfield Customer t[customer_name] = t[1] = Jones t

  9. Database • A database consists of multiple relations • Information about an enterprise is broken up into parts, with each relation storing one part of the information • E.g. account : information about accounts � � depositor : which customer owns which account customer : information about customers

  10. The customer Relation Customer_schema = (customer_name, customer_street, customer_city)

  11. The depositor Relation Depositor_schema = (customer_name, account_number)

  12. Why Split Information Across Relations? • Storing all information as a single relation such as Bank_schema = (account_number, balance, customer_name, ..) • Results in • repetition of information • e.g.,if two customers own an account (What gets repeated?) • the need for null values • e.g., to represent a customer without an account • Normalization theory (Chapter 7) deals with how to design relational schemas

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend