I a Suppose You Want to Build a Video Site Similar to Youtube and Keep Data in File- Processing System. Discuss the Relevance Of

Total Page:16

File Type:pdf, Size:1020Kb

I a Suppose You Want to Build a Video Site Similar to Youtube and Keep Data in File- Processing System. Discuss the Relevance Of October 2017 Database Management Systems Solution Set I a Suppose you want to build a video site similar to YouTube and keep data in file- processing system. Discuss the relevance of each of the following points to the storage of actual video data, and to metadata about the video, such as title, the user who uploaded it, tags, and which users viewed it. i. Data redundancy and inconsistency ii. Difficulty in accessing data iii. Data isolation iv. Integrity problems v. Atomicity problems vi. Concurrent system anomalies vii. Security problems Ans i. Data redundancy and inconsistency. This would be relevant to metadata to 1a some extent, although not to the actual video data, which is not updated. There are very few relationships here, and none of them can lead to redundancy. ii. Difficulty in accessing data. If video data is only accessed through a few predefined interfaces, as is done in video sharing sites today, this will not be a problem. However, if an organization needs to find video data based on specific search conditions (beyond simple keyword queries) if meta data were stored in files it would be hard to find relevant data without writing application programs. Using a database would be important for the task of finding data. iii. Data isolation. Since data is not usually updated, but instead newly created, data isolation is not a major issue. Even the task of keeping track of who has viewed what videos is (conceptually) append only, again making isolation not a major issue. However, if authorization is added, there may be some issues of concurrent updates to authorization information. iv. Integrity problems. It seems unlikely there are significant integrity constraints in this application, except for primary keys. if the data is distributed, there may be issues in enforcing primary key constraints. Integrity problems are probably not a major issue. v. Atomicity problems. When a video is uploaded, metadata about the video and the video should be added atomically, otherwise there would be an inconsistency in the data. An underlying recovery mechanism would be required to ensure atomicity in the event of failures. vi. Concurrent-access anomalies. Since data is not updated, concurrent access anomalies would be unlikely to occur. vii. Security problems. These would be a issue if the system supported authorization. 1 October 2017 Database Management Systems Solution Set b State the advantages and disadvantages of the following data models: Hierarchical, Network, Relational, Entity Relationship, Object Oriented and NoSQL. State if the models support data and structural independence. 2 October 2017 Database Management Systems Solution Set 1 c State and explain the twelve Codd’s rules for relational databases. 3 October 2017 Database Management Systems Solution Set 1 d What is Unified modelling language? What are its parts? Show the ER diagram notations and equivalent notations in UML. Ans 1 d The Unified Modeling Language (UML) is a standard developed under the auspices of the Object Management Group (OMG) for creating specifications of various components of a software system. Some of the parts of UML are: • Class diagram: A class diagram is similar to an E-R diagram. • Use case diagram: Use case diagrams show the interaction between users and the system, in particular the steps of tasks that users perform (such as withdrawing money or registering for a course). • Activity diagram: Activity diagrams depict the flow of tasks between various components of a system. • Implementation diagram: Implementation diagrams show the system components and their interconnections, both at the software component level and the hardware component level. 4 October 2017 Database Management Systems Solution Set 1 e Construct an E-R diagram for a car insurance company whose customers own one or more cars each. Each car has associated with it zero to any number of recorded accidents. Each insurance policy covers one or more cars, and has one or more premium payments associated with it. Each payment is for a particular period of time, and has an associated due date, and the date when the payment was received. Ans 1 e The E-R diagram is shown in Figure below. Payments are modeled as weak entities since they are related to a specific policy. Note that the participation of accident in the relationship participated is not total, since it is possible that there is an accident report where the participating car is unknown. 1 f i. Design an E-R diagram for keeping track of the exploits of your favourite sports team. You should store the matches played, the scores in each match, the players in each match, and individual player statistics for each match. Summary statistics should be modelled as derived attributes. 5 October 2017 Database Management Systems Solution Set ii. Consider an E-R diagram in which the same entity set appears several times, with its attributes repeated in more than one occurrence. Why is allowing this redundancy a bad practice that one should avoid? The different occurrences of an entity may have different sets of attributes, leading to an inconsistent diagram. Instead, the attributes of an entity should be specified only once. All other occurrences of the entity should omit attributes. Since it is not possible to have an entity without any attributes, an occurrence of an entity without attributes clearly indicates that the attributes are specified elsewhere. 2 a The natural outer-join operations extend the natural-join operation so that tuples from the participating relations are not lost in the result of the join. Describe how the theta join operation can be extended so that tuples from the left, right, or both relations are not lost from the result of a theta join. 2 b Given the following relational schemas: 푅 = (퐴, 퐵, 퐶) 푆 = (퐷, 퐸, 퐹) Suppose the relations r(R) and s(S) are defined. Write the expressions in tuple relational calculus equivalent to each of the following: i. ∏퐴(푟) ii. 휎퐵=17(푟) iii. 푟 × 푠 iv. ∏퐴,퐹(휎퐶=퐷(푟 × 푠)) Ans 2b i. {t | ∃ q ∈ r (q[A] = t[A])} ii. {t | t ∈ r ∧ t[B] = 17} iii. {t | ∃ p ∈ r ∃ q ∈ s (t[A] = p[A] ∧ t[B] = p[B] ∧ t[C] = p[C] ∧ t[D] = q[D] ∧ t[E] = q[E] ∧ t[F] = q[F])} iv. {t | ∃ p ∈ r ∃ q ∈ s (t[A] = p[A] ∧ t[F] = q[F] ∧ p[C] = q[D]} 2 c Consider the relational database below, where primary keys are underlined. employee (person name, street, city) works (person name, company name, salary) company (company name, city) manages (person name, manager name) Give an expression in tuple relational calculus for each of the following queries: i. Find all employees who work directly for “Jones.” ii. Find all cities of residence of all employees who work directly for “Jones.” 6 October 2017 Database Management Systems Solution Set iii. Find the name of the manager of the manager of “Jones.” iv. Find those employees who earn more than all employees living in the city “Mumbai.” Ans 2c i. {t | ∃ m ∈ manages (t[person name] = m[person name] ∧ m[manager name] = ’Jones’)} ii. {t | ∃ m ∈ manages ∃e ∈ employee(e[person name] = m[person name] ∧ m[manager name] = ’Jones’ ∧ t[city] = e[city])} iii. {t | ∃ m1 ∈ manages ∃m2 ∈ manages(m1[manager name] = m2[person name] ∧ m1[person name] = ’Jones’ ∧ t[manager name] = m2[manager name])} iv. {t | ∃ w1 ∈ works ¬∃w2 ∈ works(w1[salary] < w2[salary] ∃e2 ∈ employee (w2[person name] = e2[person name] ∧ e2[city] = ’Mumbai’))} 2 d What is normalization? What is its objective? Give a distinguishing characteristic of 1NF, 2NF, 3NF, 4NF and BCNF. Ans 2d Normalization is a process for evaluating and correcting table structures to minimize data redundancies, thereby reducing the likelihood of data anomalies. The normalization process involves assigning attributes to tables based on the concept of determination. The objective of normalization is to ensure that each table conforms to the concept of well-formed relations—in other words, tables that have the following characteristics: • Each table represents a single subject • No data item will be unnecessarily stored in more than one table (in short, tables have minimum controlled redundancy). The reason for this requirement is to ensure that the data is updated in only one place. • All nonprime attributes in a table are dependent on the primary key—the entire primary key and nothing but the primary key. The reason for this requirement is to ensure that the data is uniquely identifiable by a primary key value. • Each table is void of insertion, update, or deletion anomalies, which ensures the integrity and consistency of the data. 7 October 2017 Database Management Systems Solution Set i. Using the INVOICE table structure shown in table below, write the relational schema, draw its dependency diagram and identify all dependencies (including all partial and transitive dependencies). You can assume that the table does not contain repeating groups and that any invoice number may reference more than one product. (Hint: This table uses a composite primary key.) Attribute Name Sample Value Sample Value Sample Sample Value Sample Value Value INV_NUM 211347 211347 211347 211348 211349 PROD_NUM AA-E3422QW QD-300932X RU-995748G AA-E3422QW GH-778345P SALE_DATE 15-Jan-2016 15-Jan-2016 15-Jan-2016 15-Jan-2016 16-Jan-2016 PROD_LABEL Rotary sander 0.25-in. drill bit Band saw Rotary sander Power drill VEND_CODE 211 211 309 211 157 VEND_NAME NeverFail, Inc. NeverFail, Inc. BeGood, Inc. NeverFail, Inc. ToughGo, Inc. QUANT_SOLD 1 8 1 2 1 PROD_PRICE ₹4995 ₹345 ₹3999 ₹4995 ₹8775 ii. Using the initial dependency diagram drawn in question i, remove all partial dependencies, draw the new dependency diagrams, and identify the normal forms for each table structure you created.
Recommended publications
  • SAP IQ Administration: User Management and Security Company
    ADMINISTRATION GUIDE | PUBLIC SAP IQ 16.1 SP 04 Document Version: 1.0.0 – 2019-04-05 SAP IQ Administration: User Management and Security company. All rights reserved. All rights company. affiliate THE BEST RUN 2019 SAP SE or an SAP SE or an SAP SAP 2019 © Content 1 Security Management........................................................ 5 1.1 Plan and Implement Role-Based Security............................................6 1.2 Roles......................................................................7 User-Defined Roles.........................................................8 System Roles............................................................ 30 Compatibility Roles........................................................38 Views, Procedures, and Tables That Are Owned by Roles..............................38 Display Roles Granted......................................................39 Determining the Roles and Privileges Granted to a User...............................40 1.3 Privileges..................................................................40 Privileges Versus Permissions.................................................41 System Privileges......................................................... 42 Object-Level Privileges......................................................64 System Procedure Privileges..................................................81 1.4 Passwords.................................................................85 Password and user ID Restrictions and Considerations...............................86
    [Show full text]
  • *** Check Constraints - 10G
    *** Check Constraints - 10g *** Create table and poulated with a column called FLAG that can only have a value of 1 or 2 SQL> CREATE TABLE check_const (id NUMBER, flag NUMBER CONSTRAINT check_flag CHECK (flag IN (1,2))); Table created. SQL> INSERT INTO check_const SELECT rownum, mod(rownum,2)+1 FROM dual CONNECT BY level <=10000; 10000 rows created. SQL> COMMIT; Commit complete. SQL> exec dbms_stats.gather_table_stats(ownname=>NULL, tabname=>'CHECK_CONST', estimate_percent=> NULL, method_opt=> 'FOR ALL COLUMNS SIZE 1'); PL/SQL procedure successfully completed. *** Now perform a search for a value of 3. There can be no such value as the Check constraint only permits values 1 or 2 ... *** The exection plan appears to suggest a FTS is being performed (remember, there are no indexes on the flag column) *** But the statistics clearly show no LIOs were performed, none SQL> SELECT * FROM check_const WHERE flag = 3; no rows selected Execution Plan ---------------------------------------------------------- Plan hash value: 1514750852 ---------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 6 | 0 (0)| | |* 1 | FILTER | | | | | | |* 2 | TABLE ACCESS FULL| CHECK_CONST | 1 | 6 | 6 (0)| 00:00:01 | ---------------------------------------------------------------------------------- Predicate Information (identified by operation id): ---------------------------------------------------
    [Show full text]
  • Chapter 10. Declarative Constraints and Database Triggers
    Chapter 10. Declarative Constraints and Database Triggers Table of contents • Objectives • Introduction • Context • Declarative constraints – The PRIMARY KEY constraint – The NOT NULL constraint – The UNIQUE constraint – The CHECK constraint ∗ Declaration of a basic CHECK constraint ∗ Complex CHECK constraints – The FOREIGN KEY constraint ∗ CASCADE ∗ SET NULL ∗ SET DEFAULT ∗ NO ACTION • Changing the definition of a table – Add a new column – Modify an existing column’s type – Modify an existing column’s constraint definition – Add a new constraint – Drop an existing constraint • Database triggers – Types of triggers ∗ Event ∗ Level ∗ Timing – Valid trigger types • Creating triggers – Statement-level trigger ∗ Option for the UPDATE event – Row-level triggers ∗ Option for the row-level triggers – Removing triggers – Using triggers to maintain referential integrity – Using triggers to maintain business rules • Additional features of Oracle – Stored procedures – Function and packages – Creating procedures – Creating functions 1 – Calling a procedure from within a function and vice versa • Discussion topics • Additional content and activities Objectives At the end of this chapter you should be able to: • Know how to capture a range of business rules and store them in a database using declarative constraints. • Describe the use of database triggers in providing an automatic response to the occurrence of specific database events. • Discuss the advantages and drawbacks of the use of database triggers in application development. • Explain how stored procedures can be used to implement processing logic at the database level. Introduction In parallel with this chapter, you should read Chapter 8 of Thomas Connolly and Carolyn Begg, “Database Systems A Practical Approach to Design, Imple- mentation, and Management”, (5th edn.).
    [Show full text]
  • 2.4. Constraints
    PostgreSQL 7.3 Documentation Prev Chapter 2. Data Definition Next 2.4. Constraints Data types are a way to limit the kind of data that can be stored in a table. For many applications, however, the constraint they provide is too coarse. For example, a column containing a product price should probably only accept positive values. But there is no data type that accepts only positive numbers. Another issue is that you might want to constrain column data with respect to other columns or rows. For example, in a table containing product information, there should only be one row for each product number. To that end, SQL allows you to define constraints on columns and tables. Constraints give you as much control over the data in your tables as you wish. If a user attempts to store data in a column that would violate a constraint, an error is raised. This applies even if the value came from the default value definition. 2.4.1. Check Constraints A check constraint is the most generic constraint type. It allows you to specify that the value in a certain column must satisfy an arbitrary expression. For instance, to require positive product prices, you could use: CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ); As you see, the constraint definition comes after the data type, just like default value definitions. Default values and constraints can be listed in any order. A check constraint consists of the key word CHECK followed by an expression in parentheses. The check constraint expression should involve the column thus constrained, otherwise the constraint would not make too much sense.
    [Show full text]
  • Reasoning Over Large Semantic Datasets
    R O M A TRE UNIVERSITA` DEGLI STUDI DI ROMA TRE Dipartimento di Informatica e Automazione DIA Via della Vasca Navale, 79 – 00146 Roma, Italy Reasoning over Large Semantic Datasets 1 2 2 1 ROBERTO DE VIRGILIO ,GIORGIO ORSI ,LETIZIA TANCA , RICCARDO TORLONE RT-DIA-149 May 2009 1Dipartimento di Informatica e Automazione Universit`adi Roma Tre {devirgilio,torlone}@dia.uniroma3.it 2Dipartimento di Elettronica e Informazione Politecnico di Milano {orsi,tanca}@elet.polimi.it ABSTRACT This paper presents NYAYA, a flexible system for the management of Semantic-Web data which couples an efficient storage mechanism with advanced and up-to-date ontology reasoning capa- bilities. NYAYA is capable of processing large Semantic-Web datasets, expressed in a variety of formalisms, by transforming them into a collection of Semantic Data Kiosks that expose the native meta-data in a uniform fashion using Datalog±, a very general rule-based language. The kiosks form a Semantic Data Market where the data in each kiosk can be uniformly accessed using conjunctive queries and where users can specify user-defined constraints over the data. NYAYA is easily extensible and robust to updates of both data and meta-data in the kiosk. In particular, a new kiosk of the semantic data market can be easily built from a fresh Semantic- Web source expressed in whatsoever format by extracting its constraints and importing its data. In this way, the new content is promptly available to the users of the system. The approach has been experimented using well known benchmarks with very promising results. 2 1 Introduction Ever since Tim Berners Lee presented, in 2006, the design principles for Linked Open Data1, the public availability of Semantic-Web data has grown rapidly.
    [Show full text]
  • CSC 443 – Database Management Systems Data and Its Structure
    CSC 443 – Database Management Systems Lecture 3 –The Relational Data Model Data and Its Structure • Data is actually stored as bits, but it is difficult to work with data at this level. • It is convenient to view data at different levels of abstraction . • Schema : Description of data at some abstraction level. Each level has its own schema. • We will be concerned with three schemas: physical , conceptual , and external . 1 Physical Data Level • Physical schema describes details of how data is stored: tracks, cylinders, indices etc. • Early applications worked at this level – explicitly dealt with details. • Problem: Routines were hard-coded to deal with physical representation. – Changes to data structure difficult to make. – Application code becomes complex since it must deal with details. – Rapid implementation of new features impossible. Conceptual Data Level • Hides details. – In the relational model, the conceptual schema presents data as a set of tables. • DBMS maps from conceptual to physical schema automatically. • Physical schema can be changed without changing application: – DBMS would change mapping from conceptual to physical transparently – This property is referred to as physical data independence 2 Conceptual Data Level (con’t) External Data Level • In the relational model, the external schema also presents data as a set of relations. • An external schema specifies a view of the data in terms of the conceptual level. It is tailored to the needs of a particular category of users. – Portions of stored data should not be seen by some users. • Students should not see their files in full. • Faculty should not see billing data. – Information that can be derived from stored data might be viewed as if it were stored.
    [Show full text]
  • Data Base Lab the Microsoft SQL Server Management Studio Part-3
    Data Base Lab Islamic University – Gaza Engineering Faculty Computer Department Lab -5- The Microsoft SQL Server Management Studio Part-3- By :Eng.Alaa I.Haniy. SQL Constraints Constraints are used to limit the type of data that can go into a table. Constraints can be specified when a table is created (with the CREATE TABLE statement) or after the table is created (with the ALTER TABLE statement). We will focus on the following constraints: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT Now we will describe each constraint in details. SQL NOT NULL Constraint By default, a table column can hold NULL values. The NOT NULL constraint enforces a column to NOT accept NULL values. The NOT NULL constraint enforces a field to always contain a value. This means that you cannot insert a new record, or update a record without adding a value to this field. The following SQL enforces the "PI_Id" column and the "LName" column to not accept NULL values CREATE TABLE Person ( PI_Id int NOT NULL, LName varchar(50) NOT NULL, FName varchar(50), Address varchar(50), City varchar(50) ) 2 SQL UNIQUE Constraint The UNIQUE constraint uniquely identifies each record in a database table. The UNIQUE and PRIMARY KEY constraints both provide a guarantee for uniqueness or a column or set of columns. A PRIMARY KEY constraint automatically has a UNIQUE constraint defined on it. Note that you can have many UNIQUE constraints per table, but only one PRIMARY KEY constraint per table. SQL UNIQUE Constraint on CREATE TABLE The following SQL creates a UNIQUE
    [Show full text]
  • Declarative Constraints
    THREE Declarative Constraints 3.1 PRIMARY KEY 3.1.1 Creating the Constraint 3.1.2 Naming the Constraint 3.1.3 The Primary Key Index 3.1.4 Sequences 3.1.5 Sequences in Code 3.1.6 Concatenated Primary Key 3.1.7 Extra Indexes with Pseudo Keys 3.1.8 Enable, Disable, and Drop 3.1.9 Deferrable Option 3.1.10 NOVALIDATE 3.1.11 Error Handling in PL/SQL 3.2 UNIQUE 3.2.1 Combining NOT NULL, CHECK with UNIQUE Constraints 3.2.2 Students Table Example 3.2.3 Deferrable and NOVALIDATE Options 3.2.4 Error Handling in PL/SQL 3.3 FOREIGN KEY 3.3.1 Four Types of Errors 3.3.2 Delete Cascade 3.3.3 Mandatory Foreign Key Columns 3.3.4 Referencing the Parent Syntax 3.3.5 Referential Integrity across Schemas and Databases 3.3.6 Multiple Parents and DDL Migration 3.3.7 Many-to-Many Relationships 3.3.8 Self-Referential Integrity 3.3.9 PL/SQL Error Handling with Parent/Child Tables 3.3.10 The Deferrable Option 69 70 Chapter 3 • Declarative Constraints 3.4 CHECK 3.4.1 Multicolumn Constraint 3.4.2 Supplementing Unique Constraints 3.4.3 Students Table Example 3.4.4 Lookup Tables versus Check Constraints 3.4.5 Cardinality 3.4.6 Designing for Check Constraints 3.5 NOT NULL CONSTRAINTS 3.6 DEFAULT VALUES 3.7 MODIFYING CONSTRAINTS 3.8 EXCEPTION HANDLING 3.9 DATA LOADS This is the first of several chapters that cover enforcing business rules with con- straints.
    [Show full text]
  • On Enforcing Relational Constraints in Matbase
    Scan to know paper details and author's profile On enforcing relational constraints in MatBase Christian Mancas,Valentina Dorobantu ABSTRACT MatBase is a very powerful database management system based not only on the relational data model, but also on the elementary mathematical, entity-relationship, and Datalog logic ones. This paper briefly introduces MatBase and the elementary mathematical data model, after which is focused on the five relational constraint types and their enforcement in relational database management systems, as well as in MatBase. Keywords: relational data model, domain constraint, not null constraint, unique key constraint, referential integrity constraint, tuple constraint, elementary mathematical data model, MatBase. Classification: H.2.6 H.2 Language: English LJP Copyright ID: 206059 ISBN 10: 1537631683 London ISBN 13: 978-1537631684 LJP Journals Press London Journal of Research in Computer Science and Technology 16UK Volume 17 | Issue 1 | Compilation 1.0 © 2017. Christian Mancas,Valentina Dorobantu. This is a research/review paper, distributed under the terms of the Creative Commons Attribution-Noncommercial 4.0 Unported License http://creativecommons.org/licenses/by-nc/4.0/), permitting all non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited. Powered by TCPDF (www.tcpdf.org) On Enforcing Relational Constraints in MatBase ​ α σ Valentina Dorobantu ​ & Christian Mancas ​ ​ ​ ______________________________________________ I. ABSTRACT 2.1 MatBase MatBase is a very powerful database manage- MatBase [1-5] is a powerful prototype multi- ment system based not only on the relational model, multi-user, and multi-language knowledge data model, but also on the elementary and data (KD) base management system mathematical, entity-relationship, and Datalog (KDBMS) that currently has two versions: one in MS Access 2015 and the other in MS SQL Server logic ones.
    [Show full text]
  • 8 the Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints
    The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints PHIL MCMINN and CHRIS J. WRIGHT, University of Sheffield GREGORY M. KAPFHAMMER, Allegheny College Despite industry advice to the contrary, there has been little work that has sought to test that a relational database’s schema has correctly specified integrity constraints. These critically important constraints ensure the coherence of data in a database, defending it from manipulations that could violate requirements such as “usernames must be unique” or “the host name cannot be missing or unknown.” This article is the first to propose coverage criteria, derived from logic coverage criteria, that establish different levels of testing for the formulation of integrity constraints in a database schema. These range from simple criteria that mandate the testing of successful and unsuccessful INSERT statements into tables to more advanced criteria that test the formulation of complex integrity constraints such as multi-column PRIMARY KEYs and arbitrary CHECK constraints. Due to different vendor interpretations of the structured query language (SQL) specification with regard to how integrity constraints should actually function in practice, our criteria crucially account for the underlying semantics of the database management system (DBMS). After formally defining these coverage criteria and relating them in a subsumption hierarchy, we present two approaches for automatically generating tests that satisfy the criteria. We then describe the results of an empirical study that uses mutation analysis to investigate the fault-finding capability of data generated when our coverage criteria are applied to a wide variety of relational schemas hosted by three well-known and representative DBMSs— HyperSQL, PostgreSQL, and SQLite.
    [Show full text]
  • Declarative Constraints
    5685ch03.qxd_kp 11/6/03 1:36 PM Page 69 THREE Declarative Constraints 3.1 PRIMARY KEY 3.1.1 Creating the Constraint 3.1.2 Naming the Constraint 3.1.3 The Primary Key Index 3.1.4 Sequences 3.1.5 Sequences in Code 3.1.6 Concatenated Primary Key 3.1.7 Extra Indexes with Pseudo Keys 3.1.8 Enable, Disable, and Drop 3.1.9 Deferrable Option 3.1.10 NOVALIDATE 3.1.11 Error Handling in PL/SQL 3.2 UNIQUE 3.2.1 Combining NOT NULL, CHECK with UNIQUE Constraints 3.2.2 Students Table Example 3.2.3 Deferrable and NOVALIDATE Options 3.2.4 Error Handling in PL/SQL 3.3 FOREIGN KEY 3.3.1 Four Types of Errors 3.3.2 Delete Cascade 3.3.3 Mandatory Foreign Key Columns 3.3.4 Referencing the Parent Syntax 3.3.5 Referential Integrity across Schemas and Databases 3.3.6 Multiple Parents and DDL Migration 3.3.7 Many-to-Many Relationships 3.3.8 Self-Referential Integrity 3.3.9 PL/SQL Error Handling with Parent/Child Tables 3.3.10 The Deferrable Option 69 5685ch03.qxd_kp 11/6/03 1:36 PM Page 70 70 Chapter 3 • Declarative Constraints 3.4 CHECK 3.4.1 Multicolumn Constraint 3.4.2 Supplementing Unique Constraints 3.4.3 Students Table Example 3.4.4 Lookup Tables versus Check Constraints 3.4.5 Cardinality 3.4.6 Designing for Check Constraints 3.5 NOT NULL CONSTRAINTS 3.6 DEFAULT VALUES 3.7 MODIFYING CONSTRAINTS 3.8 EXCEPTION HANDLING 3.9 DATA LOADS This is the first of several chapters that cover enforcing business rules with con- straints.
    [Show full text]
  • Relational Data Model and SQL Data Definition Language
    The Relational Data Model and SQL Data Definition Language Paul Fodor CSE316: Fundamentals of Software Development Stony Brook University http://www.cs.stonybrook.edu/~cse316 1 The Relational Data Model A particular way of structuring data (using relations) proposed in 1970 by E. F. Codd Mathematically based Expressions ( queries) can be analyzed by DBMS and transformed to equivalent expressions automatically (query optimization) Optimizers have limits (=> the programmer still needs to know how queries are evaluated and optimized) 2 (c) Pearson Education Inc. and Paul Fodor (CS Stony Brook) Relational Databases In Relational DBs, the data is stored in tables Attributes (column Relation name: Student headers) Id Name Address Status 1111 John 123 Main fresh Tuples 2222 Mary 321 Oak (rows) 1234 Bob 444 Pine 9999 Joan 777 Grand senior 3 (c) Pearson Education Inc. and Paul Fodor (CS Stony Brook) Table Set of rows (no duplicates) Each row/tuple describes a different entity Each column/attribute states a particular fact about each entity Each column has an associated domain Id Name Address Status 1111 John 123 Main fresh 2222 Mary 321 Oak 1234 Bob 444 Pine 9999 Joan 777 Grand senior Domain of Id: integers Domain of Name: strings 4 Domain of(c) PearsonStatus Education= Inc.{fresh, and Paul Fodor soph, (CS Stony junior,Brook) senior} Relation A relation is the mathematical entity corresponding to a table: A relation R can be thought of as predicate R A tuple (x,y,z) is in the relation R iff R(x,y,z) is true Why Relations/Tables? Very simple model.
    [Show full text]