data definition language data definition language
play

Data Definition Language Data Definition Language Allows the - PowerPoint PPT Presentation

Data Definition Language Data Definition Language Allows the specification of not only a set of relations but also information about each relation, including: The schema for each relation. The domain of values associated with each


  1. Data Definition Language Data Definition Language Allows the specification of not only a set of relations but also information about each relation, including: � The schema for each relation. � The domain of values associated with each attribute. � Integrity constraints � The set of indices to be maintained for each relations. � Security and authorization information for each relation. � The physical storage structure of each relation on disk. UCSD CSE132B Slide 52/76

  2. Domain Types in SQL Domain Types in SQL � char(n). Fixed length character string, with user-specified length n. � varchar(n). Variable length character strings, with user-specified maximum length n. � int. Integer (a finite subset of the integers that is machine- dependent). � smallint. Small integer (a machine-dependent subset of the integer domain type). � numeric(p,d). Fixed point number, with user-specified precision of p digits, with n digits to the right of decimal point. � real, double precision. Floating point and double-precision floating point numbers, with machine-dependent precision. � float(n). Floating point number, with user-specified precision of at least n digits. UCSD CSE132B Slide 53/76

  3. Create Table Construct Create Table Construct � An SQL relation is defined using the create table command: create table r ( A 1 D 1 , A 2 D 2 , ..., A n D n , (integrity-constraint 1 ), ..., (integrity-constraint k )) � r is the name of the relation � each A i is an attribute name in the schema of relation r � D i is the data type of values in the domain of attribute A i � Example: create table branch ( branch_name char(15) not null, char(30), branch_city integer) assets UCSD CSE132B Slide 54/76

  4. CREATE TABLE CREATE TABLE � In SQL2, can use the CREATE TABLE command for specifying the primary key attributes, secondary keys, and referential integrity constraints (foreign keys). � Key attributes can be specified via the PRIMARY KEY and UNIQUE phrases CREATE TABLE DEPT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9), PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRSSN) REFERENCES EMP ); UCSD CSE132B Slide 55/76

  5. Integrity Constraints in Create Table Integrity Constraints in Create Table � not null � primary key ( A 1 , ..., A n ) Example: Declare branch_name as the primary key for branch and ensure that the values of assets are non-negative. create table branch ( branch_name char(15) , branch_city char(30), assets integer, primary key ( branch_name )) primary key declaration on an attribute automatically ensures not null in SQL- 92 onwards, needs to be explicitly stated in SQL-89 UCSD CSE132B Slide 56/76

  6. DROP TABLE DROP TABLE � Used to remove a relation (base table) and its definition � The relation can no longer be used in queries, updates, or any other commands since its description no longer exists � Example: DROP TABLE DEPENDENT; UCSD CSE132B Slide 57/76

  7. Drop and Alter Table Constructs Drop and Alter Table Constructs � The drop table command deletes all information about the dropped relation from the database. � The alter table command is used to add attributes to an existing relation: alter table r add A D where A is the name of the attribute to be added to relation r and D is the domain of A. � All tuples in the relation are assigned null as the value for the new attribute. � The alter table command can also be used to drop attributes of a relation: alter table r drop A where A is the name of an attribute of relation r � Dropping of attributes not supported by many databases UCSD CSE132B Slide 58/76

  8. ALTER TABLE ALTER TABLE � Used to add an attribute to one of the base relations � The new attribute will have NULLs in all the tuples of the relation right after the command is executed; hence, the NOT NULL constraint is not allowed for such an attribute � Example: ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12); � The database users must still enter a value for the new attribute JOB for each EMPLOYEE tuple. This can be done using the UPDATE command. UCSD CSE132B Slide 59/76

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