hsci 709 sql data definition language. sql standard sql-92 was developed by the incits technical...

26
HSCI 709 SQL Data Definition Language

Upload: alaina-dixon

Post on 31-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

HSCI 709

SQL Data Definition Language

SQL Standard• SQL-92 was developed by the INCITS Technical Committee H2 on

Databases. • SQL-92 was designed to be a standard for relational database

management systems (RDBMSs)• Next Version: SQL3

– Will enhance SQL into a computationally complete language for the definition and management of persistent, complex objects.

• generalization and specialization hierarchies• multiple inheritance• user defined data types• triggers and assertions• support for knowledge based systems• recursive query expressions• and additional data administration tools• abstract data types (ADTs)• object identifiers• Methods• Inheritance, Polymorphism, Encapsulation, and all of the other facilities

normally associated with object data management

SQL Programmer

• You have been doing it and you did not know it.

SQL Programmer

• You have been doing it and you did not know it.

SQL Components

SQL

DCL DDL DML

DBA Activities

Create UsersDelete UsersGrant privilegesImplement AccessSecurity

RDBMS Structure

Create/Delete DBs

Create/Delete TablesAlter Tables

Data I/O

Create Record

Read Record

Update Record

Delete Record

"Create Table" Syntax

CREATE TABLE <myTable>

(<Field1> <DataType>, <Field2> <DataType>,…);

"Create Table" Syntax

CREATE TABLE <myTable>

(<Field1> <DataType>, <Field2> <DataType>,…);

CREATE TABLE PAT

(PAT_ID INT, PAT_FM TEXT(20),PAT_LNM TEXT(35));

Create Table in MS Access(1)

Create Table in MS Access(2)

Create Table in MS Access(3)

TABLE NAME FIELD NAME DATA TYPE

"Alter Table" Statement

• This statement can be used to:– Add new columns– Delete defined columns– Make a column the primary key– Change column data types– Change table names*– Make a column a foreign key– Add constraints to a column, e.g., indexing

* NOT SUPPORTED IN MS ACCESS

Adding a New Column

ALTER TABLE <myTable ADD COLUMN <NewField> <DataType>;

Adding a New Column

ALTER TABLE PAT ADD COLUMN PAT_DESCR MEMO;

ALTER TABLE <myTable> ADD COLUMN <NewField> <DataType>;

MS Access Effects

Deleting a Column

ALTER TABLE <myTable> DROP COLUMN <Field>;

Deleting a Column

ALTER TABLE <myTable> DROP COLUMN <Field>;

ALTER TABLE PAT DROP COLUMN PAT_DESCR;

MS Access Effects

Creating a PK

ALTER TABLE <myTable> ADD PRIMARY KEY(<Field>);

Creating a PK

ALTER TABLE PAT ADD PRIMARY KEY(PAT_ID);

ALTER TABLE <myTable> ADD PRIMARY KEY(<Field>);

MS Access Effects

Changing Data Types

ALTER TABLE <myTable> ALTER COLUMN <field> <newDataType>;

Changing Data Types

ALTER TABLE <myTable> ALTER COLUMN <field> <newDataType>;

ALTER TABLE PAT ALTER COLUMN PAT_LNM TEXT(55);

Foreign KeysPAT

PAT_ID INT

PAT_FNM TEXT(20)PAT_LNM TEXT(35)

CLNCIAN

CLNCIAN_ID INT

CLNCIAN_NM TEXT(250)PAT_ID

Foreign Keys

CREATE TABLE CLNCIAN (CLNCIAN_ID INTEGER PRIMARY KEY, CLNCIAN_NM TEXT (55), PAT_ID INT, CONSTRAINT FKPatId FOREIGN KEY (PAT_ID) REFERENCES PAT);

PAT

PAT_ID INT

PAT_FNM TEXT(20)PAT_LNM TEXT(35)

CLNCIAN

CLNCIAN_ID INT

CLNCIAN_NM TEXT(250)PAT_ID

MS Access

Take Home Lesson

SQL commands can do what Graphical User Interface does in

Access