Lab # 2 Data Definition Language (DDL) Eng. Alaa O Shama

Total Page:16

File Type:pdf, Size:1020Kb

Lab # 2 Data Definition Language (DDL) Eng. Alaa O Shama The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Database Lab Lab # 2 Data Definition Language (DDL) Eng. Alaa O Shama October, 2015 Objective To be familiar with SQL Language especially with Data Definition Language(DDL). Relational Database (RDB) Relational Database means data stored in relations. Relation is esse- ntially a mathematical term for table. Each table is a named collection of rows (tuples). Each row of a given table has the same set of named Columns (attributes), and each column is of a sp- ecific data type. Database Keys A key is a logical way to access a record in a table. There are many types of key in RDB: Candidate Key A candidate key is any field, or combination of fields, that uniquely identifies a record. The field/s of the candidate key must contain unique values, and can't contain a null value. Primary Key (PK) A primary key is the candidate key that has been chosen to identify unique records in a particular table. Foreign Key (FK) A relationship between two tables is created by creating a common field to the two tables. The common field must be a primary key to the one table. SQL Language SQL is presently expanded as Structured Query Language. Originally, SQL was called SEQUEL. SQL is now the standard language for commercial relational DBMSs. SQL Statements SQL has insensitive statements for data definitions, queries, and updates. SQL commands are grouped into major categories depending on their functionality: Data Definition Language (DDL): These SQL commands are used for creating,modifying, and dropping the structure of database objects. It also defines keys, specify links between tables, and impose constraints between tables. The commands are ALTER, ANALYZE, AUDIT, COMMENT, CREATE ,DROP,FLASHBACK, GRANT, PURGE, RENAME, REVOKE and TRUNCATE. Data Manipulation Language (DML): These SQL commands are used for storing, retrieving, modifying, and deleting data. These Data Manipulation Language commands are CALL, DELETE, EXPLAIN,INSERT, LOCK TABLE, MERGE, SELECT and UPDATE. Transaction Control Language (TCL): These SQL commands are used for managing changes affecting the data. These commands are COMMIT, ROLLBACK, and SAVEPOINT. In this lab, we will concentrate on DDL. Schema Creating To create a new schema in default XE database, we have to create a new user and the Oracle creates a schema for that user with the same name. To create a new user, you have to follow the next steps: 1- Connect to XE database by SYSTEM user. 2- Expand the connection and R-click on other users >> Create User. 3- User tab >> enter user name and password and choose the default and temporary table spaces. 4- System Privileges tab >> Grant the necessary privileges for the user. Granted Privileges: Create session: to be able to connect to XE database by the new user Create table/ view/ procedure/ synonym/ sequence/ trigger/ type/materialized view: to be able to create tables, views, procedure ,synonyms, sequences, user defined data types and materialized views respectively inside the new schema. Unlimited tablespace: to permit a user to use an unlimited amount of any tablespace in the database. Alter session: to set or modify any of the conditions or parameters that affect your connection to the database. 5- Apply 6- You can create a new user by SQL commands. Create User Create User user_name identified by password Default tablespace “tablespace” Temporary tablespace “tablespace”; Privileges Grant Privilige To user_name ; On the worksheet of SYSTEM connection, write the following statements and execute them. 7- After user creation, Connect to XE database by the new user. 8- Now you can issue SQL statements for the new schema. Table Creating DATA TYPES NUMERIC TYPES Name Description Range Number [(p[, s])] User-specified precision, scale. The precision is the number of digits to both sides of the decimal point. The positive scale is the count of decimal The precision p can range digits in the fractional part, to the right of from 1 to 38. the decimal point. If the scale of a value to be stored is greater The scale s can range from than the declared scale of the column, the -84 to 127. system will round the value to the specified number of fractional digits. A NUMBER value requires When the scale is positive and the number from 1 to 22 bytes. of digits to the left of the decimal point exceeds (p-s), an error is raised. Number(p) = Number(p,0) s=0. Number: specifies the maximum range and precision for an Oracle number. Integer Number (32) -2 ^31 – (2 ^31)-1 INT CHARACTER TYPES Definition Description Notes char A single character. Char A set of characters exactly n characters in To specify a value to (n[byte|char]) length, padded with spaces. character data types, If you attempt to store a string that is too it is placed between long, an error will be generated. single quotation NCHAR[(n)] A fixed length Unicode character string marks (‘), and it is a having maximum length n characters. case sensitive, e.g., Default and minimum n is 1 character. ‘Hello’. VARCHAR2(n A Variable length character string having [byte|char]) maximum length n bytes or characters. Use concatenation You must specify size for VARCHAR2. operator (||) to Minimum size is 1 byte or 1 character. concatenate two NVARCHAR2(n) A Variable length Unicode character string strings, e.g. ‘abc’ || having maximum length n characters. ‘def’ results ‘abcdef’. You must specify size for NVARCHAR2. DATE/TIME DATA TYPES Name Description Notes Example Date Date Only. To specify a value to Date types, you can: Its components are YEAR, Place the value between MONTH, and DAY. ‘31-MAY-02’ single quotation marks ’31-MAY-2002’ The default format is: in DD-MON-YY/YYYY format. Date ‘2002-05-31’ DD-MON-YY. Use Date keyword and Date ’02-05-31’ YY/YYYY-MM-DD SYSDATE: special value Format. that is current system date. Includes the DATE and timestamp TIME fields, with a blank To specify a value for ’31-MAY-02 [(p)] space between two fields. Timestamps DataType, you 10:30:56’ can: ’31-MAY-02 The Default format is: Place the value in (‘) mark 10:30:56 PM’ DD-MON-YY HH.MM.SS.p In AM/PM DD-MON-YY Timestamp ‘2002- HH:MM:SS.p [AM/PM] 05-02 10:30:56.25’ [+/-HH:MM/time zone] Timestamp Timestamp with time Format. ’31-MAY-03 [(p)] with zone displacement value. Hour from (1-12). 10:30:56 AM time zone . +/-HH:MM/time zone +08:00’ The Default format is: for timestamp with time '04-Jul-05 4:5:6 PM DD-MON-YY HH.MM.SS.p zone data type. ASIA/JERUSALEM' AM/PM +/- HH:MM/time . AM/PM required for zone timestamp with time Timestamp ‘2002- zone data type. 05-02 15:30:56.36 - 07:00’ . If you don’t specify AM/PM for timestamp Timestamp ‘2002- and timestamp with 05-02 15:30:56.36 local time zone data ASIA/JERUSALEM' types the default is AM. Default Values A column can be assigned a default value. When a new row is created and no values are specified for some of the columns, those columns will be filled with their respective default values. If no default value is declared explicitly, the default value is the null value. In a table definition, default values are listed after the column data type. CREATE TABLE EMPLOYEE ( .. Salary number (6,2) Default 2000, …. ); Constraints 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 column that would violate a constraint, an error is raised. Constraints Types: NOT NULL: prohibits a database value from being null. Unique:prohibits multiple rows from having the same value in the same column or combination of columns but allows some values to be null. Primary key:combines a NOT NULL constraint and a unique constraint in a si ngle declaration. It prohibits multiple rows from having the same value in the same column or combination of columns and prohibits values from being null. Check: requires a value in the database to comply with a specified condition. Foreign key: requires values in one table to match values in another table. You can define constraints syntactically in two ways: As a part of the definition of an individual column or attribute. This is called in-line specification. As a part of the table definition. This is called out-of-line specification. Notes: NOT NULL constraints must be declared inline. All other constraints can be declared either inline or out of line. The constraint on a combination of columns must be declared out of line. You cannot designate the same column or combination of columns as both a primary key and a unique key. In Line Specification [Constraint const_name] const_type [const_specifications] Note: In this specification const_type doesn’t specified for foreign key constraint. Out Of Line Specification [Constraint const_name] const_type (column[s]) [const_specifications] Constraint const_name specifies a name for the constraint. If you omit this identifier, then Oracle Database generates a name. Constraint name clarifies error messages and allows you to refer to the constraint when you need to change it. Not Null Constraint It must be declared in line. In Line Specification [Constraint const_name] Not Null Unique Constraint In Line Specification [Constraint const_name] Unique Out of Line Specification [Constraint const_name] Unique (Column[s]) Primary Key Constraint In Line Specification [Constraint const_name] Primary Key Out of Line Specification [Constraint const_name] Primary Key (Column[s]) Check Constraint In Line & Out Of Line Specifications [Constraint const_name] ckeck (Boolean Expression) Foreign Key Constraint A foreign key constraint specifies that the values in a column (or a group of columns) must match the values appearing in some row of another table.
Recommended publications
  • Referential Integrity in Sqlite
    CS 564: Database Management Systems University of Wisconsin - Madison, Fall 2017 Referential Integrity in SQLite Declaring Referential Integrity (Foreign Key) Constraints Foreign key constraints are used to check referential integrity between tables in a database. Consider, for example, the following two tables: create table Residence ( nameVARCHARPRIMARY KEY, capacityINT ); create table Student ( idINTPRIMARY KEY, firstNameVARCHAR, lastNameVARCHAR, residenceVARCHAR ); We can enforce the constraint that a Student’s residence actually exists by making Student.residence a foreign key that refers to Residence.name. SQLite lets you specify this relationship in several different ways: create table Residence ( nameVARCHARPRIMARY KEY, capacityINT ); create table Student ( idINTPRIMARY KEY, firstNameVARCHAR, lastNameVARCHAR, residenceVARCHAR, FOREIGNKEY(residence) REFERENCES Residence(name) ); or create table Residence ( nameVARCHARPRIMARY KEY, capacityINT ); create table Student ( idINTPRIMARY KEY, firstNameVARCHAR, lastNameVARCHAR, residenceVARCHAR REFERENCES Residence(name) ); or create table Residence ( nameVARCHARPRIMARY KEY, 1 capacityINT ); create table Student ( idINTPRIMARY KEY, firstNameVARCHAR, lastNameVARCHAR, residenceVARCHAR REFERENCES Residence-- Implicitly references the primary key of the Residence table. ); All three forms are valid syntax for specifying the same constraint. Constraint Enforcement There are a number of important things about how referential integrity and foreign keys are handled in SQLite: • The attribute(s) referenced by a foreign key constraint (i.e. Residence.name in the example above) must be declared UNIQUE or as the PRIMARY KEY within their table, but this requirement is checked at run-time, not when constraints are declared. For example, if Residence.name had not been declared as the PRIMARY KEY of its table (or as UNIQUE), the FOREIGN KEY declarations above would still be permitted, but inserting into the Student table would always yield an error.
    [Show full text]
  • Create Table Identity Primary Key Sql Server
    Create Table Identity Primary Key Sql Server Maurits foozle her Novokuznetsk sleeplessly, Johannine and preludial. High-principled and consonantal Keil often stroke triboluminescentsome proletarianization or spotlight nor'-east plop. or volunteer jealously. Foul-spoken Fabio always outstrips his kursaals if Davidson is There arise two ways to create tables in your Microsoft SQL database. Microsoft SQL Server has built-in an identity column fields which. An identity column contains a known numeric input for a row now the table. SOLVED Can select remove Identity from a primary case with. There cannot create table created on every case, primary key creates the server identity column if the current sql? As I today to refute these records into a U-SQL table review I am create a U-SQL database. Clustering option requires separate table created sequence generator always use sql server tables have to the key. This key creates the primary keys per the approach is. We love create Auto increment columns in oracle by using IDENTITY. PostgreSQL Identity Column PostgreSQL Tutorial. Oracle Identity Column A self-by-self Guide with Examples. Constraints that table created several keys means you can promote a primary. Not logged in Talk Contributions Create account already in. Primary keys are created, request was already creates a low due to do not complete this. IDENTITYNOT NULLPRIMARY KEY Identity Sequence. How weak I Reseed a SQL Server identity column TechRepublic. Hi You can use one query eg Hide Copy Code Create table tblEmplooyee Recordid bigint Primary key identity. SQL CREATE TABLE Statement Tutorial Republic. Hcl will assume we need be simplified to get the primary key multiple related two dissimilar objects or adding it separates structure is involved before you create identity? When the identity column is part of physician primary key SQL Server.
    [Show full text]
  • (DDL) Reference Manual
    Data Definition Language (DDL) Reference Manual Abstract This publication describes the DDL language syntax and the DDL dictionary database. The audience includes application programmers and database administrators. Product Version DDL D40 DDL H01 Supported Release Version Updates (RVUs) This publication supports J06.03 and all subsequent J-series RVUs, H06.03 and all subsequent H-series RVUs, and G06.26 and all subsequent G-series RVUs, until otherwise indicated by its replacement publications. Part Number Published 529431-003 May 2010 Document History Part Number Product Version Published 529431-002 DDL D40, DDL H01 July 2005 529431-003 DDL D40, DDL H01 May 2010 Legal Notices Copyright 2010 Hewlett-Packard Development Company L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Export of the information contained in this publication may require authorization from the U.S. Department of Commerce. Microsoft, Windows, and Windows NT are U.S. registered trademarks of Microsoft Corporation. Intel, Itanium, Pentium, and Celeron are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
    [Show full text]
  • The Unconstrained Primary Key
    IBM Systems Lab Services and Training The Unconstrained Primary Key Dan Cruikshank www.ibm.com/systems/services/labservices © 2009 IBM Corporation In this presentation I build upon the concepts that were presented in my article “The Keys to the Kingdom”. I will discuss how primary and unique keys can be utilized for something other than just RI. In essence, it is about laying the foundation for data centric programming. I hope to convey that by establishing some basic rules the database developer can obtain reasonable performance. The title is an oxymoron, in essence a Primary Key is a constraint, but it is a constraint that gives the database developer more freedom to utilize an extremely powerful relational database management system, what we call DB2 for i. 1 IBM Systems Lab Services and Training Agenda Keys to the Kingdom Exploiting the Primary Key Pagination with ROW_NUMBER Column Ordering Summary 2 www.ibm.com/systems/services/labservices © 2009 IBM Corporation I will review the concepts I introduced in the article “The Keys to the Kingdom” published in the Centerfield. I think this was the inspiration for the picture. I offered a picture of me sitting on the throne, but that was rejected. I will follow this with a discussion on using the primary key as a means for creating peer or subset tables for the purpose of including or excluding rows in a result set. The ROW_NUMBER function is part of the OLAP support functions introduced in 5.4. Here I provide some examples of using ROW_NUMBER with the BETWEEN predicate in order paginate a result set.
    [Show full text]
  • Keys Are, As Their Name Suggests, a Key Part of a Relational Database
    The key is defined as the column or attribute of the database table. For example if a table has id, name and address as the column names then each one is known as the key for that table. We can also say that the table has 3 keys as id, name and address. The keys are also used to identify each record in the database table . Primary Key:- • Every database table should have one or more columns designated as the primary key . The value this key holds should be unique for each record in the database. For example, assume we have a table called Employees (SSN- social security No) that contains personnel information for every employee in our firm. We’ need to select an appropriate primary key that would uniquely identify each employee. Primary Key • The primary key must contain unique values, must never be null and uniquely identify each record in the table. • As an example, a student id might be a primary key in a student table, a department code in a table of all departments in an organisation. Unique Key • The UNIQUE constraint uniquely identifies each record in a database table. • Allows Null value. But only one Null value. • A table can have more than one UNIQUE Key Column[s] • A table can have multiple unique keys Differences between Primary Key and Unique Key: • Primary Key 1. A primary key cannot allow null (a primary key cannot be defined on columns that allow nulls). 2. Each table can have only one primary key. • Unique Key 1. A unique key can allow null (a unique key can be defined on columns that allow nulls.) 2.
    [Show full text]
  • Rfgen Users Guide
    DataMax Software Group Inc. 1101 Investment Blvd. El Dorado Hills, CA 95762 USA RFgen Users Guide All Editions RFgen 5.2 © 2021 RFgen Software. A division of DataMAX Software Group, Inc. All Rights Reserved. RFgen 5.2 Users Guide Table of Contents Introduction to RFgen 1 Connection Tab 33 Basic Implementation Steps 2 Connection Tab - SAP 33 Configuration Overview 3 SAP Data Encryption 34 Configurations Shared by Dev Studio To Configure for JDE 35 and Services Console: 3 Adding A New Web Services Connection 40 Connections Shared by Dev Studio Configuring the Host Connection 42 and Services Console: 4 Configuring User Access Control 45 Configurations Available Only in Dev Studio 4 Adding or Removing RFgen Admin- istrators / RFgen SubAdmins 46 Connections Available Only in Dev Studio 4 Dev Studio Configuration Options 47 Configuring the RFgen Application Data- Configuring Menu and Key Settings 48 base 4 System Menu Configuration 48 Configuring Application Preferences 7 Function Key Actions 49 Configuring Application Services 10 Configuring the Scripting Environment 50 Configuring Environment Settings 14 Configuring Source Control Options 52 Configure System Environment 14 Configuring System Properties 54 Configuring Transaction Management DB Connection 19 Download Enterprise Objects 54 Create Application Event Database 19 Downloading ERP Business Functions 55 Configuring System Queues and Tasks 20 Downloading JDE Processing Options 55 Add New Enterprise Connections 22 Viewing Enterprise Objects 57 Adding a New DataSource Connection 22 Viewing
    [Show full text]
  • CANDIDATE KEYS a Candidate Key of a Relation Schema R Is a Subset X
    CANDIDATEKEYS A candidate key of a relation schema R is a subset X of the attributes of R with the following twoproperties: 1. Every attribute is functionally dependent on X, i.e., X + =all attributes of R (also denoted as X + =R). 2. No proper subset of X has the property (1), i.e., X is minimal with respect to the property (1). A sub-key of R: asubset of a candidate key; a super-key:aset of attributes containing a candidate key. We also use the abbreviation CK to denote "candidate key". Let R(ABCDE) be a relation schema and consider the fol- lowing functional dependencies F = {AB → E, AD → B, B → C, C → D}. Since (AC)+ =ABCDE, A+ =A,and C+ =CD, we knowthat ACisacandidate key,both A and C are sub-keys, and ABC is a super-key.The only other candidate keysare AB and AD. Note that since nothing determines A, A is in every can- didate key. -2- Computing All Candidate Keys of a Relation R. Givenarelation schema R(A1, A2,..., An)and a set of functional dependencies F which hold true on R, howcan we compute all candidate keysofR? Since each candidate key must be a minimal subset Z of {A1,..., + An}such that Z =R,wehav e the following straightforward (and brute-force) algorithm: (1) Construct alist L consisting of all non-empty subsets of {A1, n − ..., An}(there are 2 1ofthem). These subsets are arranged in L in ascending order of the size of the subset: 〈 〉 ≤ We get L = Z1, Z2,..., Z2n−1 ,such that |Zi| |Zi+1|.
    [Show full text]
  • Pizza Parlor Point-Of-Sales System CMPS 342 Database
    1 Pizza Parlor Point-Of-Sales System CMPS 342 Database Systems Chris Perry Ruben Castaneda 2 Table of Contents PHASE 1 1 Pizza Parlor: Point-Of-Sales Database........................................................................3 1.1 Description of Business......................................................................................3 1.2 Conceptual Database.........................................................................................4 2 Conceptual Database Design........................................................................................5 2.1 Entities................................................................................................................5 2.2 Relationships....................................................................................................13 2.3 Related Entities................................................................................................16 PHASE 2 3 ER-Model vs Relational Model..................................................................................17 3.1 Description.......................................................................................................17 3.2 Comparison......................................................................................................17 3.3 Conversion from E-R model to relational model.............................................17 3.4 Constraints........................................................................................................19 4 Relational Model..........................................................................................................19
    [Show full text]
  • Data Definition Language
    1 Structured Query Language SQL, or Structured Query Language is the most popular declarative language used to work with Relational Databases. Originally developed at IBM, it has been subsequently standard- ized by various standards bodies (ANSI, ISO), and extended by various corporations adding their own features (T-SQL, PL/SQL, etc.). There are two primary parts to SQL: The DDL and DML (& DCL). 2 DDL - Data Definition Language DDL is a standard subset of SQL that is used to define tables (database structure), and other metadata related things. The few basic commands include: CREATE DATABASE, CREATE TABLE, DROP TABLE, and ALTER TABLE. There are many other statements, but those are the ones most commonly used. 2.1 CREATE DATABASE Many database servers allow for the presence of many databases1. In order to create a database, a relatively standard command ‘CREATE DATABASE’ is used. The general format of the command is: CREATE DATABASE <database-name> ; The name can be pretty much anything; usually it shouldn’t have spaces (or those spaces have to be properly escaped). Some databases allow hyphens, and/or underscores in the name. The name is usually limited in size (some databases limit the name to 8 characters, others to 32—in other words, it depends on what database you use). 2.2 DROP DATABASE Just like there is a ‘create database’ there is also a ‘drop database’, which simply removes the database. Note that it doesn’t ask you for confirmation, and once you remove a database, it is gone forever2. DROP DATABASE <database-name> ; 2.3 CREATE TABLE Probably the most common DDL statement is ‘CREATE TABLE’.
    [Show full text]
  • There Are Only Four Types of Relational Keys Candidate Key As Stated
    There are only four types of relational keys Candidate Key As stated above, a candidate key is any set of one or more columns whose combined values are unique among all occurrences (i.e., tuples or rows). Since a null value is not guaranteed to be unique, no component of a candidate key is allowed to be null. There can be any number of candidate keys in a table . Relational pundits are not in agreement whether zero candidate keys is acceptable, since that would contradict the (debatable) requirement that there must be a primary key. Primary Key The primary key of any table is any candidate key of that table which the database designer arbitrarily designates as "primary". The primary key may be selected for convenience, comprehension, performance, or any other reasons. It is entirely proper (albeit often inconvenient) to change the selection of primary key to another candidate key. As we will see below, there is no property of a primary key which is not shared by all other candidate keys in of the table except this arbitrary designation. Unfortunately E-R methodologies and RDBMS products have come to rely on the primary key almost to the exclusion of the concept of candidate keys, which are rarely supported by software. Alternate Key The alternate key s of any table are simply those candidate keys which are not currently selected as the primary key. According to { Date95 } (page 115), "... exactly one of those candidate keys [is] chosen as the primary key [and] the remainder, if any, are then called alternate keys ." An alternate key is a function of all candidate keys minus the primary key.
    [Show full text]
  • Exploring the Visualization of Schemas for Aggregate-Oriented Nosql Databases?
    Exploring the Visualization of Schemas for Aggregate-Oriented NoSQL Databases? Alberto Hernández Chillón, Severino Feliciano Morales, Diego Sevilla Ruiz, and Jesús García Molina Faculty of Computer Science, University of Murcia Campus Espinardo, Murcia, Spain {alberto.hernandez1,severino.feliciano,dsevilla,jmolina}@um.es Abstract. The lack of an explicit data schema (schemaless) is one of the most attractive NoSQL database features for developers. Being schema- less, these databases provide a greater flexibility, as data with different structure can be stored for the same entity type, which in turn eases data evolution. This flexibility, however, should not be obtained at the expense of losing the benefits provided by having schemas: When writ- ing code that deals with NoSQL databases, developers need to keep in mind at any moment some kind of schema. Also, database tools usu- ally require the knowledge of a schema to implement their functionality. Several approaches to infer an implicit schema from NoSQL data have been proposed recently, and some utilities that take advantage of inferred schemas are emerging. In this article we focus on the requisites for the vi- sualization of schemas for aggregate-oriented NoSQL Databases. Schema diagrams have proven useful in designing and understanding databases. Plenty of tools are available to visualize relational schemas, but the vi- sualization of NoSQL schemas (and the variation that they allow) is still in an immature state, and a great R&D effort is required to achieve tools with the desired capabilities. Here, we study the main challenges to be addressed, and propose some visual representations. Moreover, we outline the desired features to be supported by visualization tools.
    [Show full text]
  • SQL: Triggers, Views, Indexes Introduction to Databases Compsci 316 Fall 2014 2 Announcements (Tue., Sep
    SQL: Triggers, Views, Indexes Introduction to Databases CompSci 316 Fall 2014 2 Announcements (Tue., Sep. 23) • Homework #1 sample solution posted on Sakai • Homework #2 due next Thursday • Midterm on the following Thursday • Project mixer this Thursday • See my email about format • Email me your “elevator pitch” by Wednesday midnight • Project Milestone #1 due Thursday, Oct. 16 • See project description on what to accomplish by then 3 Announcements (Tue., Sep. 30) • Homework #2 due date extended to Oct. 7 • Midterm in class next Thursday (Oct. 9) • Open-book, open-notes • Same format as sample midterm (from last year) • Already posted on Sakai • Solution to be posted later this week 4 “Active” data • Constraint enforcement: When an operation violates a constraint, abort the operation or try to “fix” data • Example: enforcing referential integrity constraints • Generalize to arbitrary constraints? • Data monitoring: When something happens to the data, automatically execute some action • Example: When price rises above $20 per share, sell • Example: When enrollment is at the limit and more students try to register, email the instructor 5 Triggers • A trigger is an event-condition-action (ECA ) rule • When event occurs, test condition ; if condition is satisfied, execute action • Example: • Event : some user’s popularity is updated • Condition : the user is a member of “Jessica’s Circle,” and pop drops below 0.5 • Action : kick that user out of Jessica’s Circle http://pt.simpsons.wikia.com/wiki/Arquivo:Jessica_lovejoy.jpg 6 Trigger example
    [Show full text]