01konsep Dasar DBMS& SQLrev
01konsep Dasar DBMS& SQLrev
HOME
DAFTAR ISI
AS/400 hal.B.1
TSI Perbankan
Karakteristik Database Relasional Struktur Tabular Satu Bahasa digunakan untuk semua pemakai Data dihubungkan melalui nilai data
Kelebihan Database Relasional Tabular View Seluruh hasil operasinya berupa tabel Tidak terdapat pointer-pointer Memiliki kemampuan operator yang baik Fleksibel Mudah digunakan
AS/400 hal.B.2
TSI Perbankan
Attribute
BAGIAN
NOBAG Relation C01 D01 B01 Primary Key PEGAWAI NOPEG 010 020 030 050 070 100 NAPEG ASTRIDITA EMILIA ARKADIA INDIRA DIANDRA NADIRA Degree NOBAG C01 B01 C01 B01 D01 D01 Tuple Foreign Key NABAG PRODUKSI ADMINISTRASI PEMASARAN KABAG P030 P070 P020 Cardinality
Domain
AS/400 hal.B.3
TSI Perbankan
Terminologi
Informal
Tabel
Baris / record Jumlah baris Atribut / field Jumlah atribut Sekumpulan nilai data yang valid
Candidate Key
Suatu atribut /sekelompok atribut pada suatu relasi yang mempunyai dua sifat (property) : Unik, nilai dari atributatribut tersebut secara unik menentukan tuple-tuple di relasi tersebut Minimality, Jika atributatribut tersebut adalah Key gabungan , tidak ada bagian dari kelompok atribut tersebut yang dapat dihilangkan
Primary Key
Suatu candidate key yang dipilih sebagai penentu dari atribut-atribut lain. Candidate Key yang tidak terpilih disebut alternate key.
AS/400 hal.B.4
TSI Perbankan
Foreign Key
Suatu atribut pada suatu relasi dikatakan suatu Foreign Key bila: Setiap nilai atribut foreign key tersebut adalah Non Null. Terdapat suatu relasi lain yang mempunyai Primary Key yang mempunyai nilai yang sama dengan atribut foreign key tersebut.
AS/400 hal.B.5
TSI Perbankan
Proses Normalisasi
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi
Bentuk Tidak Normal Menghilangkan perulangan group Bentuk Normal Pertama (1NF) Menghilangkan ketergantungan sebagian Bentuk Normal Kedua (2NF) Menghilangkan ketergantungan transitif Bentuk Normal Ketiga (3NF) Menghilangkan anomali-anomali hasil dari ketergantungan fungsional Bentuk Normal Boyce-Codd (BCNF) Menghilangkan Ketergantungan Multivalue Bentuk Normal Keempat (4NF) Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima
AS/400 hal.B.6
TSI Perbankan
Ketergantungan Fungsional
Definisi : Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R. Misal, terdapat skema database Pemasok-barang : Pemasok (No-pem, Na-pem) Tabel PEMASOK-BARANG No-pem P01 P02 P03 Na-pem Baharu Sinar Harapan
AS/400 hal.B.7
TSI Perbankan
Tabel Kirim-Barang No-pem P01 P01 P01 P02 P03 Na-pem Baharu Baharu Baharu Sinar Harapan No-bar B01 B02 B03 B03 B02 Jumlah 1000 1500 2000 1000 2000
Ketergantungan fungsional : No-pem Na-pem Jumlah (Tergantung penuh terhadap key-nya) No-bar, No-pem
Ketergantungan Transitif
Definisi : Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R.( X Contoh : No-pem P01 P01 P01 P02 P03 Kode-kota 1 1 1 3 2 Kota Jakarta Jakarta Jakarta Bandung Surabaya No-bar B01 B02 B03 B03 B02 Jumlah 1000 1500 2000 1000 2000 Y, Y Z , maka X Z)
AS/400 hal.B.8
TSI Perbankan
Ketergantungan fungsional :
No-pem Kode-kota No-pem Kode-kota Kota , maka Kota
AS/400 hal.B.9
TSI Perbankan
AS/400 hal.B.10
TSI Perbankan
AS/400 hal.B.11
TSI Perbankan
NamaMhs
Welli Bakri
Jurusan
MI Ak.
KodeMK
MI350 MI465 MI350 AKN201 MKT300
Nama-MK
Manajamen DB Analsis Prc. Sistem Manajemen DB Akuntansi Keuangan Dasar Pemasaran
Kode-Dosen NamaDosen
B104 B317 B104 D310 B212 Ati Dita Ati Lia Lola
Nilai
A B C B A
KodeMK
MI350 MI465 MI350 AKN201 MKT300
Nama-MK Manajamen DB Analsis Prc. Sistem Manajemen DB Akuntansi Keuangan Dasar Pemasaran
Nilai A B C B A
AS/400 hal.B.12
TSI Perbankan
Nama-Dosen
Ati Dita Lia Lola
Nilai
A B C B A
AS/400 hal.B.13
TSI Perbankan
AS/400 hal.B.14
TSI Perbankan
Jenis perintah-perintah SQL Ada dua jenis perintah SQL, yaitu perintah pendefinisian data (Data Definition Languange (DDL)) dan Data Manipulation Language (DML). Perintah pendefinisian data hanya dapat dioperasikan pada objek yang dibuat pada database SQL. Perintah manipulasi data dapat beroperasi pada objek yang dibuat SQL atau physical file dan logical file. Berikut ini termasuk perintah pendefinisian data (DDL) COMMENTS ON CREATE DATABASE CREATE INDEX CREATE TABLE CREATE VIEW Berikut ini termasuk perintah manipulasi data (DML) CLOSE COMMIT DECLARE CURSOR DELETE FETCH INSERT Membentuk sebuah Database SQL SQL/400 database adalah objek dasar dimana tabel-tabel, view dan index akan ditempatkan. Otoritas untuk perintah CRTLIB dan CRTDTADCT CL diperlukan untuk menjalankan perintah CREATE DATABASE. Bentuk Umum : CREATE DATABASE database-name Contoh : CREATE DATABASE user01dbs LOCK TABLE OPEN ROLLBACK SELECT UPDATE DROP GRANT LABEL ON REVOKE
AS/400 hal.B.15
TSI Perbankan
Setelah berhasil membentuk sebuah database maka tabel-tabel, view dan index dapat diletakkan. Membentuk dan Menggunakan Tabel Perintah yang digunakan untuk membentuk tabel dan mendefinisikan atributatribut fisik dari kolom adalah CREATE TABLE. Bentuk Umum : CREATE TABLE table-name (column-name1 data-type1 null, column-name2 data-type2 null, column-namen data-typen null) Parameter pertama yang digunakan pada perintah tersebut adalah nama kolom, kemudian tipe data untuk kolom tersebut dan parameter terakhir menunjukkan apabila kolom dapat berisi nilai null. Ada dua pilihan untuk nilai null yaitu NOT NULL atau NOT NULL WITH DEFAULT. * Tabel harus dibentuk di dalam database SQL, tidak dapat dibentuk di dalam LIBRARY Perintah LABEL ON Perintah ini digunakan untuk memberikan judul tabel dan kolom. Bentuk Umum : LABEL ON TABLE database-name.table-name IS 'string' LABEL ON COLUMN database-name.table-name.column-name IS 'string'
Perintah INSERT
Perintah untuk menambah baris baru dalam tabel atau view dengan menggunakan salah satu cara di bawah ini Menentukan nilai data untuk kolom dalam perintah INSERT sebuah baris Memasukkan perintah SELECT dalam INSERT untuk menyatakan data baru yang akan ditambahkan.
AS/400 hal.B.16
TSI Perbankan
Perintah UPDATE
Perintah yang digunakan untuk merubah data dalam tabel. Bentuk umum : UPDATE table-name SET column-name-1 = value-expression [, column-name-2 = value-expression] WHERE search-condition
Perintah DELETE
Digunakan menghapus baris dari tabel Bentuk umum : DELETE FROM table-name WHERE search-condition Perintah SELECT Perintah ini digunakan untuk menampilkan data yang sudah tersimpan dalam tabel. Ada tiga bagian utama pada perintah ini, yaitu : 1. Klausa SELECT, yang menunjukkan kolom-kolom yang dipilih untuk data yang diinginkan. 2. Klausa FROM, yang menunjukkan tabel yang dipilih untuk data yang diinginkan. 3. Klausa WHERE, sebagai suatu filter/penyaring untuk menunjukkan data yang diinginkan.
AS/400 hal.B.17
TSI Perbankan
Bentuk umum : SELECT column-names FROM table-name or view-name WHERE search-condition GROUP BY column-names HAVING search-condition Keterangan : Column-names, menyebutkan nama-nama kolom yang akan dipilih datanya. Table_name atau view_name, menyebutkan nama table atau nama view sesuai dengan nama kolom yang disebutkan. Search-condition, berupa suatu kondisi pencarian untuk data yang akan ditampilkan. Membentuk dan Menggunakan View Perintah ini dapat digunakan apabila diinginkan untuk mengambil informasi dari beberapa tabel, tapi mempunyai keterbatasan untuk mengakses jenis-jenis data tertentu, seperti misalnya data gaji. Membentuk sebuah view dapat dilakukan dengan cara yang sama seperti membentuk tabel. Otoritas SELECT pada tabel harus dipunyai agar dapat membentuk view. Bentuk Umum : CREATE VIEW view-name AS SELECT statement * * Sebuah view hanya dapat dibentuk pada tabel atau file yang terdapat pada database SQL, bukan pada LIBRARY. Pada view tidak dapat dilakukan perubahan, pemasukan atau menghapus data, jika : klausa FROM menggunakan lebih dari satu tabel (join) klausa FROM menunjukkan read-only view Menggunakan fungsi-fungsi SUM,MAX,MIN, AVG atau COUNT
AS/400 hal.B.18
TSI Perbankan
Perintah DROP Perintah ini digunakan untuk menghapus sebuah objek. Objek-objek yang secara langsung atau tidak langsung tergantung pada objek tersebut akan terhapus pula. Perintah ini dapat dilakukan melalui aplikasi program atau secara interaktif. Untuk dapat melakukan penghapusan tabel, view atau index hak akses dikendalikan oleh identitas otoritas Bekerja dengan Index Sebuah index digunakan oleh sistem untuk proses pengambilan data agar lebih cepat. Bentuk Umum : CREATE INDEX index_name ON database_name.table_name(column_name) * Sebuah index hanya dapat dibentuk pada tabel dan file yang terdapat didatabase SQL. Perintah COMMENT ON Perintah ini digunakan untuk memberikan komentar terhadap sebuah kolom. Komentar ini berguna apabila nama dari kolom tidak mengidentifikasi secara jelas isi dari kolom atau tabel tersebut. Bentuk Umum : COMMENT ON TABLE database-name.column-name IS string Komentar ini akan disimpan pada REMARKS yang terletak di SYSCOLUMS dan SYSTABLES.
AS/400 hal.B.19
TSI Perbankan
Perintah GRANT
Perintah untuk memberikan hak akses tabel dan view kepada user. Perintah ini dapat diletakkan pada sebuah program aplikasi atau secara interaktif.
Autorisasi
Hak akses dikendalikan authorization ID Menentukan setiap hak akses dan hubungan dari objek Menentukan setiap hak akses dan autorisasi *OBJMGT dan *OBJOPR pada tabel atau view Untuk menentukan hak akses, kita harus Menjadi pemilik objek Mempunyai hak
Bentuk umum :
GRANT
, TO
auth-id
PUBLIC
, ON TABLE
table-name view-name
AS/400 hal.B.20
TSI Perbankan
Keterangan
ALL atau ALL PRIVILEGES Memberikan semua hak akses yang dimiliki untuk semua tabel atau view yang ada pada klausa ON. Memberikan hak dengan ALL PRIVILEGES pada tabel atau view tidak sama dengan pemberian hak dari sistem dengan autoritas *ALL. Jika tidak menggunakan ALL maka dapat digunakan satu atau beberapa keyword di bawah ini : DELETE INDEX INSERT SELECT UPDATE menggunakan peritantah DELETE Menggunakan perintah CREATE INDEX. View mungkin belum ditentukan pada saat memberikan hak akses INDEX . Menggunakan perintah INSERT Menggunakan perintah SELECT Menggunakan perintah UPDATE
ON atau ON TABLE Table-name dan view-name adalah tabel atau view yang diberikan hak akses. TO Menentukan kepada siapa hak akses diberikan Auth-id Menyebutkan satu atau lebih identitas otorisasi (nama user). Tidak diijinkan menggunakan lebih dari satu nama user yang sama. PUBLIC Memberikan hak akses ke PUBLIC
AS/400 hal.B.21
TSI Perbankan
Hubungan Dengan Sistem AS/400 Ketika Memberikan Hak Pada Table *ADD *DLT *READ *UPD
(hanya *OBJOPR
AS/400 hal.B.22
TSI Perbankan
Apabila view-nya read-only maka hanya hak SELECT yang dapat diberikan. Apabila INSERT tidak diperbolehkan pada view maka hak INSERT tidak dapat diberikan. Contoh : GRANT SELECT ON CORPDATA.EMP PULASKI
Perintah REVOKE
Perintah revoke akan mencabut hak akses pada tabel dan view dari user. Perintah ini dapat dilakukan melalui aplikasi program atau secara interaktif. Hak akses dari perintah ini termasuk ke dalam otoritas *OBJMGT dikendalikan oleh otoritas yang dimiliki seorang user. Bentuk Umum :
ALL REVOKE ALL PRIVILEGES , DELETE INDEX INSERT SELECT UPDATE
, FROM
auth-id
PUBLIC
, ON TABLE
table-name view-name
AS/400 hal.B.23
TSI Perbankan
Keterangan : ALL atau ALL PRIVILEGES Mencabut seluruh hak akses tabel untuk tabel dan view yang diinginkan. Jika tidak menggunakan ALL, harus disebutkan satu atau lebih kata kunci berikut ini. Setiap kata kunci mencabut hak akses yang diinginkan, tetapi hanya untuk nama tabel dan view pada klausa ON. DELETE INDEX INSERT SELECT UPDATE menggunakan peritantah DELETE menggunakan perintah CREATE INDEX. View mungkin belum ditentukan pada saat memberikan hak akses INDEX . Menggunakan perintah INSERT Menggunakan perintah SELECT Menggunakan perintah UPDATE
ON atau ON TABLE
Satu atau lebih nama tabel atau view yang akan dicabut hak aksesnya. Penyebutan namanya dapat terdiri dari nama tabel, nama view atau gabungan keduanya. FROM Menyebutkan dari siapa(nama user) hak akses tersebut akan dicabut Auth-id Menyebutkan satu atau lebih identitas otorisasi (nama user). Tidak dijinkan menggunakan lebih dari satu nama user yang sama. PUBLIC Mencabut hak akses dari PUBLIC Contoh : Mencabut hak akses SELECT pada tabel COPRPDATA dari USER01 REVOKE SELECT ON TABLE CORPDATA FROM USER01
AS/400 hal.B.24
TSI Perbankan
AS/400 hal.B.25
TSI Perbankan
Untuk mempermudah pemahaman para auditor terhadap sistem database yang tersedia serta pemrosesannya diperlukan alat-alat bantu seperti diagramdiagram untuk menggambarkan alur data dan pemodelan data. Dengan menggunakan alat-alat tersebut, para auditor dapat dengan mudah melihat pendefinisian data, keterhubungan antar data dan keterhubungan data dengan program aplikasi. Pemrosesan Batch atau On-line Di dalam Sistem database biasanya terdapat pemrosesan aplikasi secara lansung (on-line) atau pemrosesan aplikasi secara tidak langsung (batch). Pemrosesan batch merupakan pemrosesan transaksi pada saat interval tertentu atau seterlah sejumlah transaksi di akumulasi. Sistem database biasanya dilengkapi dengan fasilitas menjalankan aplikasi batch. Aplikasi secara on-line biasanya berhubungan dengan retrieve database secara langsung. Peng-updatean dan pemeliharaan biasanya ditangani oleh aplikasi batch pelaksanaannya dilakukan setelah transaksi-transaksi tersebut diakumulasi melalui entri data secara on-line. Peng-updatean secara on-line biasanya digunakan untuk sistem-sistem seperti sistem Airline atau sistem penyetujuan kredit.
Pengontrolan Akses
AS/400 hal.B.26
TSI Perbankan
Pengontrolan akses pada lingkungan database on-line dapat dibagi menjadi tiga level : Sign on Identifikasi dan pengecekkan pemakai pada saat log on. Pemroteksian Transaksi Penggunaan security untuk membatasi transaksi terhadap fungsi pekerjaan. Pemroteksian perintah Pada saat perintah didefinisikan untuk meminta password, sistem seharus nya tidak mengijinkan pemakai untuk melaksanakan transaksi apabila password tidak dispesifikasikan. Perincian dari Akses Pemakai dan program-program yang terotorisasi seharusnya dapat mengakses hanya entity-entity yang diperlukan untuk melaksanakan fungsi pekerjaan dan pemrosesan tugas-tugas. Database dirancang untuk membantu dalam menyediakan pengontrolan yang sesuai pada akses elemen data, tabel-tabel, dan kapabilitas. Perancangan struktur database dan penerjemahan permintaan pemakai merupakan tugas yang cukup berat. Oleh karena itu Auditor perlu memperhatikan database yang mempunyai pengontrolan akses yang tidak sesuai. Misalkan menggunakan perintah GRANT. Pemisahan pengujian dan produksi Pengontrolan akses data selama produksi normal merupakan hal yang utama, tetapi pengontrolan pada saat pengujian program aplikasi dan sistem sama pentingnya. Pengujian harus diselesaikan dengan menggunakan test database untuk menjamin bahwa produksi data tidak berubah dan data yang sensitif tidak mudah dilihat. Oleh karena itu Auditor seharusnya menentukan pengujian database yang digunakan selama pengembangan.
AS/400 hal.B.27
TSI Perbankan
Mengapa perancangan Database sangat penting Perancangan database merupakan salah satu aktifitas yang perlu diperhatikan di dalam pengembangan sistem informasi. Walaupun perancangan database hanya merupakan sebagian kecil dari pengembangan sistem, tapi perannya sangat besar dalam menciptakan sistem informasi yang handal . Peranan perancangan database diantaranya adalah : Mengekspresikan permintaan pemakai Mengantisipasi anomali-anomali dalam Memanipulasi Data Menyederhanakan pemrograman Mengurangi biaya pengeluaran Mempermudah pemahaman informasi Meningkatkan performance
Apabila database tidak dirancang dengan baik database yang dihasilkan mungkin tidak sesuai dengan apa yang kita inginkan. Kemungkinankemungkinan yang sering terjadi diantaranya adalah: Hilangnya Informasi Sukarnya memodifikasi database Memerlukan waktu yang lama dalam penulisan program Memerlukan waktu yang lama dalam akses database Menambah volume pekerjaan dalam sistem database Pemborosan waktu bagi Administrator
AS/400 hal.B.28
TSI Perbankan
Fase 1 Fase 2
Fase 3
Pemilihan DBMS
Fase 4
Perancangan Logika
Fase 5 Fase 6
Tujuan Perancangan Database adalah : Menyajikan data dan hubungan antar data yang diperlukan oleh pemakai dan aplikasi Mempermudah pemahaman informasi Melengkapi model data yang mendukung transaksi-transaksi yang diperlukan Mendukung proses permintaan Meningkatkan performance
AS/400 hal.B.29
TSI Perbankan
Transformasi
Normalisasi
Penggabungan Relasi
PROCESS-DRIVEN
Analisis Permintaan
DATA-DRIVEN
Analisis Permintaan
Perancangan Proses
Perancangan Database
Perancangan Database
Perancangan Proses
Implementasi
Implementasi
AS/400 hal.B.30
TSI Perbankan
1.
1. Entity
2.
2. Weak Entity
3.
3. Relationship
4.
4. Identifying Relationship
5. 6. 7. 8.
9.
9. Atribut Derivatif
AS/400 hal.B.31
TSI Perbankan
ALAMAT
N PEGAWAI 1
ANGGOTA
1 1 BAGIAN 1
JAM
PIMPIN
N
KONTROL
M
KERJA PUNYA
PUNYA
PROYEK
NOPRO NAPRO
LOKAPR
TANGGUNGAN
NAMA
JNKELT
HUBUNGAN
AS/400 hal.B.32
TSI Perbankan
PEGAWAI
PEGAWAI (NOPEG, ALM1, KDPOS, .) 2. Setiap relasi yang mempunyai atribut multivalue, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key dari relasi tersebut dengan atribut multivalue.
NOPRO
....
LOKASI
PROYEK
LOKPR(NOPRO, LOKASI) 3. Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu foreign key yang menunjuk ke nilai primary keynya. NOPEG . 1
PEGAWAI
KONTROL
AS/400 hal.B.33
TSI Perbankan
4. Setiap Unary Relationship M:N, buatlah relasi baru dimana primary keynya merupakan gabungan dari dua atribut dimana keduanya menunjuk ke primary key relasi awal dengan penamaan yang berbeda. NOBAR . M
BARANG
TERDIRI
JUMLAH
N KOMBAR (NOBAR, NOKOMP , JUMLAH) 5. Setiap Binary Relationship 1:1, dimana Participation Constraint keduanya total, buatlah suatu relasi gabungan dimana Primary Keynya dapat dipilih salah satu.
NOPEG NOPRO
PEGAWAI 1
KERJA
PROYEK
PEGAWAI (NOPEG, ... , NOPRO, ...). 6. Setiap Binary Relationship 1:1 dan salah satu Participation Constraintnya Total, maka Primary Key pada relasi yang Participation Constraintnya Partial menjadi Foreign Key pada relasi yang lainnya.
NOPE G NOBAG
PEGAWAI
PIMPIN
BAGIAN
AS/400 hal.B.34
TSI Perbankan
7. Setiap Binary Relationship 1:1, dimana kedua Participation Constraintnya partial, maka selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari Primary Key kedua tipe Entity yang berelasi.
NOPEG NOPRO
1
PEGAWAI
KERJA
1
PROYEK
PEKERJAAN ( NOPEG, NOPRO, ) 8. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai Participation Constraint Total, maka Primary Key pada relasi yang bersisi 1 dijadikan Foreign Key pada relasi yang bersisi N.
NOBAG . NOPRO
BAGIAN
PUNYA
PROYEK
PROYEK (NOPRO, ... , NOBAG) 9. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai Participation Constraint partial, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.
NOPEG NOPRO
PEGAWAI
KERJA
PROYEK
AS/400 hal.B.35
TSI Perbankan
10. Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.
NOPEG
..
NOPRO
PEGAWAI
KERJA
N
PROYEK
PEKERJAAN (NOPEG, NOPRO, ..) 11. Setiap Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key ketiga tipe Entity yang berelasi.
NOPEG
NOPRO
PEGAWAI
KERJA KOTA
PROYEK
NOKOT
PEKERJAAN ( NOPEG, NOPRO , NOKOT) 12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya dimana Primary Keynya adalah gabungan dari Partial Key dan Primary Key dari relasi induknya (identifying owner).
AS/400 hal.B.36
TSI Perbankan
NOPEG
NAMA
1 PEGAWAI PUNYA
N
TANGGUNGAN
TANGGUNGAN (NOPEG, NAMA, .) Hasil Transformasi dari Diagram ER ke database relasional : Skema Database PEGAWAI BAGIAN PROYEK LOKPR PEKERJAAN (NOPEG, NAPEG, ALM1, KDPOS,TGLLAH, UMUR, SUPERVISOR-ID, NOBAG) (NOBAG, NABAG, LOKASI, MANAGER) (NOPRO, NAPRO, NOBAG) (NOPRO, LOKAPR) (NOPEG, NOPRO, JAM)
AS/400 hal.B.37