Tuesday, 13 November 2012


UNIT 10 :  REKABENTUK MODEL PANGKALAN DATA HUBUNGAN

10.0       Pengenalan
Model hubungan menggunakan konsep hubungan dalam matematik iaitu algebra hubungan untuk mengolah data. Jadual 1, merupakan contoh sebuah pangkalan data PEMBEKAL-BAHAGIAN-PROJEK  dan akan digunakan dalam menyelesaikan beberapa contoh soalan di bawah unit ini.

Jadual 1: Pangkalan Data PEMBEKAL-BAHAGIAN -PROJEK
PEMBEKAL
PNO
PNAMA
STATUS
PBANDAR
P12345
P59231
P93758
P46452
P10975
AHMAD
SAIFUL
AMRAN
BAHRAIN
TAN CHENG LOCK
35
30
20
30
20
KUANTAN
ALOR SETAR
TAPAH
ALOR SETAR
KUANTAN

BAHAGIAN
BNO
BNAMA
BERAT
BBANDAR
B1001
B1123
B1004
B1075
B1234
NAT
BOLT
SKRU
KAM
KOG
11
12
15
17
18
KUANTAN
KANGAR
ALOR SETAR
IPOH
TAPAH

PROJEK
JNO
JNAMA
JBANDAR
J001
J012
J007
J325
J251
J195
SORTER
PUNCH
READER
CONSOLE
TERMINAL
TAPE
KUANTAN
TAPAH
ALOR SETAR
ALOR SETAR
ALOR SETAR
KUANTAN


10.1  Algebra Hubungan
        
10.1.1      Definisi

Algebra hubungan merupakan  sekumpulan operasi untuk memanipulasi keseluruhan hubungan.

Operasi ini akan memilih tupel dari setiap hubungan dan menggabungkan tupel yang berhubungan dari beberapa hubungan untuk memenuhi permintaan untuk mencapai maklumat atau membuat pertanyaan. Operasi-operasi asas yang terkandung   dalam algebra hubungan ialah operasi SELECT, PROJECT, JOIN  dan set operasi yang menggunakan teori set  matematik seperti ‘UNION’, ‘INTERSECTION’,  ‘DIFFERENCE’  dan ‘CARTESIAN PRODUCT’.

10.1.2      Operasi SELECT     

Operasi SELECT ialah operasi untuk mengeluarkan rekod yang memenuhi syarat yang ditetapkan dari satu hubungan tertentu.

 
Sinteks:
            s <  syarat pemilihan > ( < nama hubungan>)

CONTOH SOALAN:

i.      Berdasarkan Jadual 1, dapatkan rekod PEMBEKAL dari KUANTAN yang mempunyai nilai STATUS > 15

JAWAPAN:

            s STATUS > 15 AND PBANDAR = KUANTAN

Skima hubungan yang dihasilkan adalah sama dengan hubungan PELAJAR tetapi kandungannya adalah berbeza. Keadaan ini dapat dilihat dalam Jadual 2.

Jadual 2: Rekod PEMBEKAL dari KUANTAN yang mempunyai nilai STATUS > 15.

PNO
PNAMA
STATUS
PBANDAR
P12345
P10975
AHMAD
TAN CHENG LOCK
35
20
KUANTAN
KUANTAN

ii.    Dapatkan rekod dari BAHAGIAN dengan mempunyai BERAT < 15 dari bandar KUANTAN atau BERAT < 19 dari bandar TAPAH.

JAWAPAN:

  Jadual 3: Rekod dari BAHAGIAN dengan mempunyai
             BERAT < 15 dari bandar KUANTAN  atau
      BERAT < 19 dari bandar TAPAH

s ( BERAT < 15 AND BBANDAR = KUANTAN ) OR
  ( BERAT < 19 AND BBANDAR = TAPAH) (BAHAGIAN)

BNO
BNAMA
BERAT
BBANDAR
B1001
B1234
NAT
KOG
11
18
KUANTAN
TAPAH

10.1.3      OPERASI PROJECT.

Operasi PROJECT  ialah operasi untuk mengeluarkan atribut tertentu dari hubungan
tertentu.

10.1.4         OPERASI JOIN.

Operasi JOIN  ialah operasi yang menggabungkan rekod dari dua hubungan untuk
menjadi satu tupel jika syarat tertentu dipenuhi. 

10.1.1         OPERASI  SET

Sebelum membincangkan mengenai operasi set, kita perlu tahu apakah yang dimaksudkan dengan Gabung padan atau Union compatible. Dua hubungan dikatakan gabung padan apabila kedua-dua hubungan tersebut mempunyai bilangan atribut yang sama dan setiap pasangan atribut dalam kedua-dua hubungan mempunyai domain yang sama. Set operasi hanya boleh dijalankan jika kedua-dua hubungan tersebut adalah gabung padan. Jadual 6 menunjukkan contoh dua hubungan yang gabung padan.

10.2        BAHASA PERTANYAAN SQL

SQL merupakan bahasa tanpa prosedur. Ia merupakan antaramuka pengguna dengan DBMS. SQL juga merupakan satu set bahasa orientasi dan digunakan secara meluas pada masa ini. Penumpuan diberikan kepada tugas yang hendak dijalankan dan bukannya cara untuk menjalan kan  tugas tersebut.

Definisi SQL:
SQL ialah bahasa pangkalan data yang komprehesif iaitu mempunyai pernyataan untuk definisi data, pertanyaan dan kemaskini.

Kelebihan Menggunakan SQL
i.              SQL merupakan bahasa tidak bertatacara dan pengguna hanya perlu menyatakan maklumat yang dikehendaki dan bukan bagaimana untuk mendapatkan sesuatu maklumat.
ii.            Tidak menggunakan format tertentu.
iii.           Boleh digunakan oleh semua pihak sama ada pengguna akhir, pereka pangkalan data dan pentadbiran.
iv.           Mudah dipelajari kerana sinteksnya menggunakan bahasa inggeris mudah select, from dan where.
v.             Tidak peka kepada huruf kecil atau besar tetapi mesti ditaip seperti apa yang terdapat dalam pangkalan data.

10.2.1 Bahasa Manipulasi Data (DML) SQL
DML digunakan untuk menakrif struktur data iaitu untuk membina, mengubahsuai dan menghapus objek pangkalan data. DML juga digunalan untuk memperolehi semula atau mengubah data.
                    
Sinteks Pertanyaan


SELECT          [DISTINCT½ ALL ] { *½[column expression [AS new_name]] [,…]}
FROM             table_name[ option ][…]
[WHERE         condition]
[GROUP BY    column_list]   [ HAVING     condition]
[ORDER BY    column_list]

Jadual 13: Sintaks yang digunakan dalam SQL

SINTAKS
TUJUAN
SELECT …

Menyenaraikan lajur atau ungkapan yang hendak diperolehi dan dihasilkan
FROM…

Menyenaraikan  jadual atau jadual-jadual yang mana lajur hendak diperolehi
[ WHERE … ]
Menyatakan kriteria yang akan digunakan untuk memperolehi rekod.
[ORDER BY … ]
Menyusun baris mengikut lajur yang dinyatakan
[GROUP BY … ]
Mengumpul baris mengikut nilai yang terdapat pada lajur yng dinyatakan
[ HAVING ...]
Menapis baris yang diperolehi mengikut syarat



10.2.2 Bahasa Definisi Data (DDL) SQL
  •  Diguna untuk menakrif struktur data iaitu uuntuk membina, mengubahsuai dan menghapuskan objek pangkalan data.
  •    Membina jadual.
  • Mengubah struktur jadual. Digunakan untuk menambah lajur pada jadual, tambah atau kurangkan lebar lajur yang sedia ada, mengubah lajur daripada null  kepada not null atau sebaliknya, menyatakan nilai lalai pada lajur yang sedia ada dan menyatakan kekangan pada lajur yang sedia ada.

10.3    BAHASA PERTANYAAN QBE

Seperti juga SQL, QBE dibangunkan di IBM pada tahun 1970an dan kemudiannya dikeluarkan untuk kegunaan komersial.  Pada hari ini QBE juga disokong oleh DBMS lain seperti Paradox dan Microsoft Access.   Dengan antara muka pertanyaan bergrafik, QBE adalah sesuai untuk digunakan secara interaktif pada terminal pada terminal oleh pengguna akhir yang tidak semestinya berkemahiran tinggi. QBE juga sesuai untuk pertanyaan yang tidak begitu kompleks dan tidak melibatkan begitu banyak jadual.


Definisi:
QBE (Query By Example) adalah satu bahasa pertanyaan bergrafik yang membekalkan kemudahan untuk menakrif, mengolah, mengemaskini dan mengawal pangkalan data hubungan. 


Pertanyaan dalam QBE.
·    Pertanyaan untuk mencapai maklumat dilakukan dengan mengisi ruangan
lajur pada jadual contoh.
·    Simbol P. ditulis dalam sesuatu lajur untuk memaparkan maklumat dalam
lajur tersebut.
·  Jika nilai medan ialah satu pemalar, nilai pemalar itu dituliskan dalam
jadual contoh.
· Tanda ‘ _ ‘ diletakkan dihadapannya jika hendak menggunakan
pembolehubah.
·  Operator-operator lain yang sering digunakan ialah ‘ < ‘, ‘ > ‘, ‘ <= ’, ‘>=’
‘AO’, ‘DO’, ‘AVG’ dan ‘SUM’.








No comments:

Post a Comment