Anda di halaman 1dari 23

Basis Data II

Pertemuan Ke-1 (Overview Sistem Basisdata, RDBMS, SQL)


NoorIfada

Sub Pokok Bahasan


Sistem Basisdata Basisdata Relasional SQL Basisdata Contoh (digunakan dalam perkuliahan) Basisdata Tennis Basisdata President

S1 Teknik Informatika - Unijoyo

Sistem Basisdata
database administrator
login DDL DCL

direct user
login DML

end user
menus reports forms

login enter data press buttons

SQL-editor
DDL DCL messages DML messages results

End user applications


DML messages results

database management system (DBMS)

system catalog

database database system S1 Teknik Informatika - Unijoyo 3

Basisdata Relasional

Sebagian besar sistem informasi yang ada saat ini dibangun berdasarkan pada basisdata relasional (basisdata yang merupakan kumpulan tabel) dan SQL (Structured Query Language) Contoh Relational Database Management Systems (RDBMS): MS SQL Server, Oracle, MySQL, PostgreSQL, dll

S1 Teknik Informatika - Unijoyo

Struktur:
tabel, kolom, dan tipe data

Integritas:
unicity contraints, primary keys NOT NULL constraint Foreign keys Other constrains

Manipulasi data:
retrieving information inserting, updating, and deleting data
S1 Teknik Informatika - Unijoyo 5

Structured Language Query (SQL)


adalah bahasa standar yang digunakan untuk memanipulasi basisdata relasional Terdiri dari:

Data Definition Language (DDL): CREATE tables, indexes, views, Establish primary / foreign keys, DROP / ALTER tables .... etc Data Manipulation Language (DML): INSERT / UPDATE / DELETE, SELECT .... etc. Data Control Language (DCL): COMMIT / ROLLBACK work, GRANT / REVOKE .... etc
S1 Teknik Informatika - Unijoyo 6

Statemen SELECT:

S1 Teknik Informatika - Unijoyo

Contoh penggunaan statemen SELECT


Cari nomor pemain yang telah melakukan setidaknya dua kali penalti yang jumlahnya lebih dari $25! Urutkan hasil berdasarkan nomor pemainnya!
Query: SELECT FROM WHERE GROUP BY HAVING ORDER BY PLAYERNO PENALTIES AMOUNT > 25 PLAYERNO COUNT (*) > 1 PLAYERNO;

S1 Teknik Informatika - Unijoyo

Query: SELECT FROM WHERE GROUP BY HAVING ORDER BY

PLAYERNO PENALTIES AMOUNT > 25 PLAYERNO COUNT (*) > 1 PLAYERNO;

FROM
PAYMENTNO PLAYERNO PAYMENT_DATE AMOUNT 1 6 1980-12-08 100.00 2 44 1981-05-05 75.00 3 27 1983-09-10 100.00 4 104 1984-12-08 50.00 5 44 1980-12-08 25.00 6 8 1980-12-08 25.00 7 44 1982-12-30 30.00

PAYMENTNO PLAYERNO PAYMENT_DATE AMOUNT 1 6 1980-12-08 100.00 2 44 1981-05-05 75.00 7 44 1982-12-30 30.00 3 27 1983-09-10 100.00 8 27 1984-11-12 75.00 4 104 1984-12-08 50.00

GROUP BY

HAVING
PAYMENTNO PLAYERNO PAYMENT_DATE AMOUNT 2 44 1981-05-05 75.00 7 44 1982-12-30 30.00 3 27 1983-09-10 100.00 8 27 1984-11-12 75.00

PAYMENTNO PLAYERNO PAYMENT_DATE AMOUNT 1 6 1980-12-08 100.00 2 44 1981-05-05 75.00 3 27 1983-09-10 100.00 4 104 1984-12-08 50.00 7 44 1982-12-30 30.00 8 27 1984-11-12 75.00

WHERE

SELECT
PLAYERNO 44 27

ORDER BY
PLAYERNO 27 44
9

S1 Teknik Informatika - Unijoyo

Basisdata Contoh
Basisdata

Tennis Basisdata President


kedua Basisdata tersebut akan digunakan untuk menjelaskan materi perkuliahan (termasuk untuk pemberian contoh dan soal latihan)

S1 Teknik Informatika - Unijoyo

10

Basisdata Tennis
Skema

basisdata
P ENALT IE S P AY ME NT NO P LAY ERNO P AY ME NT _ DAT E AMOUNT int <pk> not null smallint <fk> not null datetime not null decimal(7,2) not null

P LAY ERS P LAY E RNO NAME INIT IALS BIRT H_ DAT E SE X J OINE D ST REE T HOUSE NO P OS T CODE T OWN P HONE NO LEAGUE NO smallint <pk> not null char(15) not null char(3) not null datetime null char(1) not null smallint not null char(15) not null char(4) null char(6) null char(10) not null char(10) null char(4) null MAT CHNO T EAMNO P LAY ERNO WON LOST

MAT CHES smallint <pk> not null smallint <fk1> not null smallint <fk2> not null smallint not null smallint not null T E AMS T E AMNO smallint <pk> not null P LAY ERNO smallint not null DIVIS ION char(6) not null

COMMIT T E E_ MEMBE RS P LAY ERNO BEGIN_ DAT E E ND_ DAT E P OS IT ION smallint <pk,fk> not null datetime <pk> not null datetime null char(20) null

S1 Teknik Informatika - Unijoyo

11

Populasi
Tabel Players

basisdata Tennis

S1 Teknik Informatika - Unijoyo

12

Populasi
Tabel Teams

basisdata Tennis (contd-2)


Tabel Matches

Tabel Penalties

S1 Teknik Informatika - Unijoyo

13

Populasi

basisdata Tennis (contd-3)

Tabel Committee_members

S1 Teknik Informatika - Unijoyo

14

Terminologi Basisdata Relasional


Nama Tabel Kolom/column Nama Kolom/Atribut/Attribute Tabel/Relasi/Relation

MATCHES:

Baris/row/tuple/ record

S1 Teknik Informatika - Unijoyo

15

Terminologi (contd-2)
Candidate key, primary key, alternative key, foreign key, foreign key reference = relationship column value constraint, row level constraint, other constraint Domain, domain value constraint, tipe data untuk domain/kolom Integritas Entity Integritas Referential

S1 Teknik Informatika - Unijoyo 16

Constraints pada basisdata tennis

Column value constraints: SEX IN {'M','F'} WON, LOST IN {0,1,2,3} POSITION IN {'Chairman', 'Secretary', 'Treasurer', 'General member'} Row level constraints: Table PLAYERS: YEAR (BIRTH_DATE) <= JOINED Table COMMITTEE_MEMBERS: END_DATE >= BEGIN_DATE
S1 Teknik Informatika - Unijoyo 17

Basisdata President
Skema
PRES_NAME SPOUSE_NAME PR_AGE SP_AGE NR_CHILDREN MAR_YEAR PRES_MARRIAGE

basisdata

PRES_HOBBY PRES_NAME HOBBY PERSON_NAME <pk,fk> not null HOBBY_NAME <pk> not null

PERSON_NAME <pk,fk> not null PERSON_NAME <pk> not null YEARS null YEARS null NR_CHILDREN null YEARNO null

PRESIDENT PRES_NAME BIRTH_YR YRS_SERV DEATH_AGE PARTY STATE_BORN PERSON_NAME <pk> not null YEARNO not null YEARS not null YEARS null PARTY_NAME not null STATE_NAME <fk> null STATE_NAME ADMIN_ENTERED YEAR_ENTERED

STATE STATE_NAME ADMIN_NR YEARNO <pk> not null <fk> null not null

ADMINISTRATION PRES_NAME ADMIN_NR YEAR_INAUGURATED PERSON_NAME <pk,fk> not null ADMIN_NR <pk> not null YEARNO not null

ELECTION ELECTION_YEAR CANDIDATE VOTES WINNER_LOSER_INDIC YEARNO PERSON_NAME VOTES WINNER_LOSER_INDIC <pk> not null <pk> not null null null ADMIN_PR_VP PRES_NAME ADMIN_NR VICE_PRES_NAME PERSON_NAME <pk,fk> not null ADMIN_NR <pk,fk> not null PERSON_NAME <pk> not null

S1 Teknik Informatika - Unijoyo

18

Populasi
Tabel President
PRES_NAME Adams J Adams J Q Arthur C A Buchanan J Carter J E Cleveland G Coolidge C Eisenhower D D Fillmore M BIRTH_YR 1735 1767 1830 1791 1924 1837 1872 1890 1800 .

basisdata President
YRS_SERV 4 4 3 4 4 8 5 8 2 71 60 79 74 DEATH_AGE 90 80 56 77 PARTY Federalist Demo-Rep Republican Democrati c Democrati c Democrati c Republican Republican Whig . STATE_BORN Massachusetts Massachusetts Vermont Pennsylvania Georgia New Jersey Vermont Texas New York .

Tabel Pres_Hobby
PRES_NAME Adams J Q Adams J Q Adams J Q Arthur C A Carter J E Cleveland G Coolidge C Coolidge C Coolidge C . HOBBY Billiards Swimming Walking Fishing Peanuts Fishing Fishing Golf Indian Clubs .

Tabel State
STATE_NAME Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware .

ADMIN_ENTERE D 8 43 31 12 16 22

YEAR_ENTERED 1819 1959 1912 1836 1850 1876 1776 1776

S1 Teknik Informatika - Unijoyo

19

Populasi
PRES_NAME Adams J Adams J Q Arthur C A Carter J E Cleveland G Coolidge C Eisenhower D D Fillmore M Fillmore M

Tabel Pres_marriage
Smith A Johnson L C Herndon E L Smith R Folson F

basisdata President (contd-2)


PR_AGE 30 30 29 21 49 33 25 58 26 SP_AGE 19 22 22 18 21 26 19 44 27 NR_CHILDREN 5 4 3 4 5 2 2 0 2 MAR_YEAR 1765 1797 1859 1946 1886 1905 1916 1858 1826 ..

SPOUSE_NAME

Goodhue G A Doud G McIntosh C C Powers A

Tabel Administration
ADMIN_NR 1 2 3 4 5 6 7 8 9 PRES_NAME Washington G Washington G Adams J Jefferson T Jefferson T Madison J Madison J Monroe J Monroe J .. YEAR_INAUGURATED 1789 1793 1797 1801 1805 1809 1813 1817 1821

Tabel Admin_pres_vp
ADMIN_NR 1 2 3 4 5 6 7 8 9 PRES_NAME Washington G Washington G Adams J Jefferson T Jefferson T Madison J Madison J Monroe J Monroe J . VICE_PRES_NAME Adams J Adams J Jefferson T Burr A Clinton G Clinton G Gerry E Tompkins D Tompkins D .

S1 Teknik Informatika - Unijoyo

20

Populasi
Tabel Election
ELECTION_YEAR 1789 1789 1789 1789 1789 1789 1789 1789 1789 1789 1789 1789 1792 1792 1792 1792 1792 .

basisdata President (contd-3)


NR_VOTES 34 1 3 4 6 2 9 1 2 6 1 69 77 1 50 4 132 WINNER_LOSER_INDIC L L L L L L L L L L L W L L L L W

CANDIDATE Adams J Armstrong J Clinton G Hancock J Harrison R H Huntington S Jay J Lincoln B Milton J Rutledge J Telfair E Washington G Adams J Burr A Clinton G Jefferson T Washington G ..

S1 Teknik Informatika - Unijoyo

21

Constraints pada basisdata President


Domains:
Domain name Data type Domain value constraint PERSON_NAME CHAR(16) YEARNO NUMERIC(4,0) values >= 1700 YEARS NUMERIC(3,0) values >= 0 PARTY_NAME CHAR(11) STATE_NAME CHAR(15) NR_CHILDREN NUMERIC(2,0) values >= 0 HOBBY_NAME CHAR(20) ADMIN_NR NUMERIC(4,0) values >= 1 VOTES NUMERIC(4,0) values >= 1 WINNER_LOSER_INDIC CHAR(1) values in {'W', 'L'}

Column value constraints:


PRES_MARRIAGE (PR_AGE) values >= 18 PRES_MARRIAGE (SP_AGE) values >= 16 STATE (YEAR_ENTERED) values >= 1776 ADMINISTRATION (YEAR_INAUGURATED) values >= 1789 ELECTION (ELECTION_YEAR) values >= 1789
S1 Teknik Informatika - Unijoyo 22

Constraints pada basisdata President (contd-2)


Inner-table special integrity rules:
If in column ADMINISTRATION (ADMIN_NR) values are stored, all values from 1 to the maximum stored value must be present. In table STATE column ADMIN_ENTERED must have a null-value if and only if in the same row column YEAR_ENTERED has the value 1776. All rows in table ELECTION having an equal value in column ELECTION_YEAR must in column WINNER_LOSER_INDIC either all have null-values or for exactly one of those rows the value 'W' and for all other rows the value 'L'. Furthermore in the last case in the same rows also all column VOTES must have not null-values.

Intra-table special integrity rules:


If (p,y1) in PRESIDENT (PRES_NAME, BIRTH_YR) and (p,y2) in PRES_MARRIAGE (PRES_NAME, MAR_YEAR), then y2 >= y1 + 18. If (p,y1) in PRESIDENT (PRES_NAME, BIRTH_YR) and (p,a,y2) in PRES_MARRIAGE (PRES_NAME, PR_AGE, MAR_YEAR), then a = y2 - y1 or a = y2 - y1 - 1.
S1 Teknik Informatika - Unijoyo 23

Anda mungkin juga menyukai