• Tidak ada hasil yang ditemukan

9 Introduction to SQL Part I

N/A
N/A
Protected

Academic year: 2018

Membagikan "9 Introduction to SQL Part I"

Copied!
58
0
0

Teks penuh

(1)

INTRODUCTION TO SQL

Presented by :

(2)

DEFINITION

 Structured Query Language (SQL) is a high-level

language that allows users to manipulate relational data

 One of the strengths of SQL is that users need

(3)

THREE SQL CATEGORIES

 DDL – Data definition language used to define,

change, or drop database objects

 DML – Data manipulation language used to read

and modify data

 DCL – Data control language used to grant and

(4)

HISTORY OF SQL

 Don Chamberlin and Ray Boyce from IBM

Corporation developed the SQL language in the 1970's as part of the System R project; a project established to provide a practical implementation to Codd's relational model

 Originally, the language was termed “Structured English Query Language” or SEQUEL, but it was later changed to SQL as SEQUEL was a registered trademark of a UK based company

 SQL was adopted as a standard language in 1986 by the American National Standards Institute

(5)

DEFINING A RELATIONAL

DATABASE SCHEMA IN SQL

 Data Types

 Like any programming language, databases also

support a limited set of data types, which can be used to define the types of data a column can store.

 Basic data types include integer, float, decimal, char,

(6)

DATES AND TIMES DATA TYPES

 All databases support various date and time specific data types

and functions

 DB2 has the following data types for date and time. :

 Date (YYYY-MM-DD)

 Time (HH:MM:SS)

 Timestamp (YYYY-MM-DD-HH:MM:SS:ssssss)

 The following, is a partial set of functions specialized for date

(7)

CREATING A TABLE

 A table is a data set, organized and stored in

rows and columns.

 A table holds data for like items, for example

students, professors, subjects, books etc

 Entities in a data model generally map to tables

when implemented in databases. Attributes of entities map to columns of the table

 example:

(8)

DEFAULT VALUES

 When data is inserted into a table, you may want to automatically generate default values for a

few columns

 Using default value :

 To define a column that will generate a department number as an incremented value of the last

(9)

NULL VALUES

 A NULL represents an unknown state

 For example, a table that stores the course marks of

students can allow for NULL values. This could mean to the teacher that the student did not submit an

assignment, or did not take an exam. It is different from a mark of zero, where a student did take the exam, but failed on all the questions

 when you don't want a NULL to be allowed. For

example, if the country field is required for your application, ensure you prevent NULL values as follows

(10)

CONSTRAINTS

 Constraints allow you to define rules for the data in

your table. There are different types of constraints:

 A UNIQUE constraint prevents duplicate values in a table.

This is implemented using unique indexes and is specified in the CREATE TABLE statement using the keyword

UNIQUE. A NULL is part of the UNIQUE data values domain.

 A PRIMARY KEY constraint is similar to a UNIQUE

constraint, however it excludes NULL as valid data. Primary keys always have an index associated with it.

 A REFERENTIAL constraint is used to support referential

integrity which allows you to manage relationships between tables. This is discussed in more detail in the next section.

 A CHECK constraint ensures the values you enter into a

(11)

CONSTRAINTS, CONT’D…

 The following example shows a table definition

(12)

REFERENTIAL INTEGRITY

 Referential integrity establishes relationships

between tables.

 Using a combination of primary keys and foreign

keys, it can enforce the validity of your data.

 Referential integrity reduces application code

complexity by eliminating the need to place data level referential validation at the application

level.

 Only tables that have columns defined as

UNIQUE or PRIMARY KEY can be referenced in other tables as foreign keys for referential

(13)

REFERENTIAL INTEGRITY,

CONT’D…

 Referential integrity can be defined during table definition or after the

table has been created as shown in the example below where three different syntaxes are illustrated:

 Sintax 1 :

 CREATE TABLE DEPENDANT_TABLE

(ID INTEGER REFERENCES BASE_TABLE(UNIQUE_OR_PRIMARY_KEY), NAME VARCHAR(9),

CREATE TABLE DEPENDANT_TABLE

(ID INTEGER, NAME VARCHAR(9), :

: :,

CONSTRAINT constraint_name FOREIGN KEY (ID)

(14)

REFERENTIAL INTEGRITY,

CONT’D…

 Sintak 3:

 CREATE TABLE DEPENDANT_TABLE

(ID INTEGER,

NAME VARCHAR(9), :

: : );

 ALTER TABLE DEPENDANT_TABLE

ADD CONSTRAINT constraint_name FOREIGN KEY (ID)

REFERENCES

(15)

REFERENTIAL INTEGRITY,

CONT’D…

 There are different rules to handle deletes and updates and the behavior

depends on the following constructs used when defining the tables:

 CASCADE

As the name suggests, with the cascade option the operation is cascaded to all rows in the

dependant tables that are referencing the row or value to be modified or deleted in the base table.

 SET NULL

With this option all the referring cells in dependant tables are set to NULL  NO ACTION

With this option no action is performed as long as referential integrity is maintained before and

after the statement execution.

 RESTRICT

With this option, the update or delete of rows having references to dependant tables are not

allowed to continue

 The statement below shows where the delete and update rules are specified:

 ALTER TABLE DEPENDANT_TABLE

ADD CONSTRAINT constraint_name FOREIGN KEY column_name

ON DELETE <delete_action_type> ON UPDATE <update_action_type> ;

 A delete action type can be a CASCADE, SET NULL, NO ACTION, or

(16)

CREATING A SCHEMA

 Just in the same way we store and manage data

files on a computer in directories or folders and keep related or similar files together;

 a schema in DB2 is a database object that allows

you to group related database objects together.

 In DB2, every object has two parts, a schema

(17)

CREATING A SCHEMA , CONT’D…

 To create a schema, use this statement:

 create schema mySchema

 To create a table with the above schema, explicitly include it in the CREATE TABLE statement as follows:

 create table mySchema.myTable (col1 integer)

 When the schema is not specified, DB2 uses an implicit schema, which is typically the user ID used to connect to the database. You can also change the implicit schema for your current session with the SET CURRENT SCHEMA command as follows:

(18)

MODIFYING DATABASE OBJECTS

 Once a database object is created, it may be

necessary to change its properties to suit changing business requirements.

 Dropping and recreating the object is one way to

achieve this modification; however, dropping the object has severe side effects.

 A better way to modify database objects is to use

the ALTER SQL statement. For example, assuming you would like to change a table

definition so that NULLs are not allowed for a given column, you can try this SQL statement:

(19)

RENAMING DATABASE OBJECTS

 Once database objects are created, they can be renamed using the SQL statement, RENAME. To rename any database object use the following SQL syntax:

 RENAME <object type> <object name> to <new name>

 Where the object type can be for example, a table, table space, or index. Not all database objects can be renamed after they are created.

 To rename a column, the ALTER TABLE SQL statement should be used in conjunction with RENAME. For example:

(20)

DROPING DATABASE TABLE

 DROP TABLE statement allows you to remove

tables from your schema:

 DROP TABLE SCHEMA.TABLE_NAME

(21)

DATA MANIPULATION WITH SQL

 Selecting Data

 Inserting Data

 Deleting Data

(22)
(23)
(24)
(25)
(26)

STRUCTURE OF AN SQL QUERY

SELECT - Defines result columns

Column names

Arithmetic expressions Literals (text or numeric) Scalar functions

Column functions Concatenation

FROM - Table or view names

(27)
(28)
(29)
(30)
(31)
(32)

ALTERNATE ORDER BY

SPECIFICATIONS

 SELECT LASTNAME, FIRSTNME, WORKDEPT,

JOB, SEX FROM EMPLOYEE ORDER BY WORKDEPT DESC, JOB, LASTNAME, SEX DESC

Equivalent ORDER BY clauses:

 ORDER BY WORKDEPT DESC, JOB ASC,

LASTNAME ASC, SEX DESC

 ORDER BY 3 DESC, 4, 1, 5 DESC

 ORDER BY 3 DESC, 4 ASC, 1 ASC, 5 DESC

 ORDER BY 3 DESC, JOB, LASTNAME, 5 DESC

 ORDER BY WORKDEPT DESC, 4 ASC, 1 ASC,

(33)
(34)
(35)
(36)
(37)

COMPARISON OPERATORS

SELECT *

FROM EMPLOYEE

WHERE SALARY = 20000 -- equal to

OR SALARY <> 20000 -- not equal to OR SALARY > 20000 -- greater than

OR SALARY >= 20000 -- greater than or equal to

OR SALARY < 20000 -- less than

(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)

MAINTAINING DATA

 TESTEMP Table

 The visual shows the contents of the TESTEMP table.

(51)

DDL CREATE TABLE TESTEMP

CREATE TABLE TESTEMP (

EMPNO CHAR(6) NOT NULL,

LASTNAME VARCHAR(15) NOT NULL, WORKDEPT CHAR(3),

HIREDATE DATE,

(52)
(53)
(54)
(55)
(56)
(57)

REMINDERS

 You must be authorized to execute CREATE/DROP table

statements

 You must be authorized to execute statements which

change table content

 Dropping a table drops dependent objects

 Search condition in the WHERE clause qualifies rows to be

updated or deleted

 Inserting a row into a view actually inserts the row into

the table on which the view is based

 Updating a row of a view updates the row of the table on

which the view is based

 Omitting the WHERE clause of an UPDATE or DELETE

 statement causes all rows of the table or view to be

(58)

Referensi

Dokumen terkait

The product distinguished itself from the market, by being able to provide timely data to decision makers assists them in field-level and regional crop growth

Diketik Ulang oleh Urip Kalteng (http://urip.wordpress.com) Soal dibuat oleh TIM KIMIA KSM 2012 Hal-4 Pilihlah salah satu jawaban yang tepat.. Kelemahan model atom yang

 Proposal yang telah diparaf oleh Sekretaris Departemen diserahkan ke Ketua Departemen untuk memperoleh persetujuan jumlah dana bantuan kemahasiswaan yang akan diberikan 

KARTU INVENTARIS BARANG (KIB) E ASET TETAP

Penggantian adalah nilai berupa uang, termasuk semua biaya yang diminta atau seharusnya diminta oleh pengusaha karena penyerahan Jasa Kena Pajak (JKP),ekspor Jasa Kena Pajak,

Metode LIT pada Stasiun Pengamatan 3 meter disajikan pada Gambar 3, diketahui bahwa kondisi tutupan karang hidup di pulau Matas pada kedalaman 3 meter sebesar 91,02 %, artinya

17.327.208.086,- (tujuh belas miliar tiga ratus dua puluh tujuh juta dua ratus delapan ribu delapan puluh enam rupiah) sebagai deviden saham; dengan ketentuan apabila terdapat

- Seluruh Komisaris Independen tidak ada yang memiliki hubungan keuangan, kepengurusan, kepentingan dan hubungan keluarga dengan anggota Dewan Komisaris lainnya, Direksi dan