4.1.3. Perancangan Basisdata Fisikal
4.1.3.1. Perancangan Rasional Basisdata
Langkah ini bertujuan untuk memutuskan bagaimana merepresentasikan base relation yang telah didefinisikan pada data model global logikal ke dalam sasaran DBMS. Adapun hasil dari langkah ini adalah sebagai berikut:
1. Wali
Domain Kode_Wali : Variable integer
Domain Nama_ayah : Variable character string, length 50
Domain Nama_ibu : Variable character string, length 50
Domain Alamat_ayah : Variable character string, length 225
Domain Alamat_ibu : Variable character string, length 225
Domain Pekerjaan_ayah : Variable character string, length 50
Domain Pekerjaan_ibu : Variable character string, length 50
Domain Nama_wali : Variable character string, length 50
Domain Alamat_wali : Variable character string, length 225
Domain Pekerjaan_wali : Variable character string, length 50
CREATE TABLE Wali (
Kode_wali integer NOT NULL, Nama_ayah varchar (50) NOT NULL, Nama_ibu varchar (50) NOT NULL, Nama_wali varchar (50) NOT NULL, Alamat_ayah varchar (225) NOT NULL, Alamat_ibu varchar (225) NOT NULL, Alamat_wali varchar (225) NOT NULL, Pekerjaan_ayah varchar (50) NOT NULL, Pekerjaan_ibu varchar (50) NOT NULL, Pekerjaan_wali varchar (50) NOT NULL, PRIMARY KEY (kode_wali)
2. Telp_ayah
Domain Kode_ortu : Variable integer
Domain No_telp_ayah : Variable character string, length 20
CREATE TABLE Telp_ayah (
Kode_ortu integer NOT NULL,
No_telp_ayah varchar (20) NOT NULL, PRIMARY KEY (kode_ortu, No_telp_ayah),
FOREIGN KEY (kd_ortu) REFERENCES Ortu ON UPDATE CASCADE ON DELETE NO ACTION )
3. Telp_ibu
Domain Kode_ortu : Variable integer
Domain No_telp_ibu : Variable character string, length 20
CREATE TABLE Telp_ibu (
Kode_ortu integer NOT NULL,
No_telp_ibu varchar (20) NOT NULL, PRIMARY KEY (Kode_ortu, No_telp),
FOREIGN KEY (Kode_ortu) REFERENCES Ortu ON UPDATE CASCADE ON DELETE NO ACTION )
4. Telp_wali
Domain Kode_wali : Variable integer
Domain No_telp_wali : Variable character string, length 20
CREATE TABLE Telp_wali (
Kode_wali integer NOT NULL, No_telp varchar (20) NOT NULL, PRIMARY KEY (Kode_wali, No_telp),
FOREIGN KEY (Kode_wali) REFERENCES Wali ON UPDATE CASCADE ON DELETE NO ACTION
)
5. Siswa
Domain NIS : Variable character string, length 6
Domain Nama_siswa : Variable character string, length 50
Domain Tempat_lahir_siswa : Variable character string, length 50
Domain Tgl_lahir_siswa : Variable character string, length 25
Domain Alamat_siswa : Variable character string, length 225
Domain Agama_siswa : Variable character string, length 25
Domain Jenis_kelamin_siswa : Variable character string, length 20
Domain Anak_ke : Variable character string, length 5
Domain Status : Variable character string, length 20
Domain Kode_wali : Variable integer CREATE TABLE Siswa
(
NIS varchar (6) NOT NULL,
Nama_siswa varchar (50) NOT NULL, Alamat_siswa varchar (225) NOT NULL, Tempat_lahir_siswa varchar (50) NOT NULL, Tgl_lahir_siswa varchar (25) NOT NULL, Agama_siswa varchar (25) NOT NULL, Jenis_kelamin_siswa varchar (1) NOT NULL, Anak_ke varchar (5) NOT NULL,
Status varchar (20) NOT NULL, PRIMARY KEY (NIS),
FOREIGN KEY (Kode_wali) REFERENCES Wali ON UPDATE CASCADE ON DELETE NO ACTION )
6. Telp_siswa
Domain NIS : Variable character string, length 6
Domain No_telp _siswa : Variable character string, length 20
CREATE TABLE Telp_siswa (
NIS varchar (6) NOT NULL, No_telp varchar (20) NOT NULL, PRIMARY KEY (NIS, No_telp),
FOREIGN KEY (NIS) REFERENCES Siswa ON UPDATE CASCADE ON DELETE NO ACTION )
7. Guru
Domain Kode_guru : Variable character string, length 10
Domain Nama_guru : Variable character string, length 50
Domain Tempat_lahir_guru : Variable character string, length 50
Domain Tgl_lahir_guru : Variable caracter string, Length 25
Domain Alamat_guru : Variable character string, length 225
Domain Jenis_kelamin_guru : Variable character string, length 25
Domain Agama_guru : Variable character string, length 20
Domain Password_guru : Variable character string, length 10
CREATE TABLE Guru (
Kode_guru varchar (10) NOT NULL, Nama_guru varchar (50) NOT NULL, Alamat_guru varchar (225) NOT NULL, Tempat_lahir_guru varchar (50) NOT NULL, Tgl_lahir_guru varchar (25) NOT NULL, Agama_guru varchar (25) NOT NULL, Jenis_kelamin_guru varchar (1) NOT NULL, Password_guru varchar (10),
PRIMARY KEY (Kode_guru) )
8. Telp_guru
Domain Kode_guru : Variable character string, length 10
Domain No_telp : Variable character string, length 20
CREATE TABLE Telp_guru (
Kode_guru varchar (10) NOT NULL, No_telp char (20) NOT NULL, PRIMARY KEY (Kode_guru, No_telp)
FOREIGN KEY (Kode_guru) REFERENCE Guru ON UPDATE CASCADE ON DELETE NO ACTION )
9. Tata_Usaha
Domain Kode_TU : Variable character string, length 10
Domain Nama_TU : Variable character string, length 25
Domain Tempat_lahir_TU : Variable character string, length 20
Domain Tgl_lahir_TU : Variable date, format longdate
Domain Alamat_TU : Variable character string, length 50
Domain Agama_TU : Variable character string, length 10
Domain Jenis_kelamin_TU : Variable character string, length 1
Domain Password_TU : Variable character string, length 10
CREATE TABLE Tata_Usaha
( Kode_TU varchar (10) NOT NULL, Nama_TU varchar (50) NOT NULL, Alamat_TUu varchar (225) NOT NULL, Tempat_lahir_TU varchar (50) NOT NULL, Tgl_lahir_TU varchar (25) NOT NULL, Agama_TU varchar (25) NOT NULL, Jenis_kelamin_TU varchar (1) NOT NULL, Password_TU varchar (10),
PRIMARY KEY (Kode_TU) )
10. Telp_TU
Domain Kd_TU : Variable character string, length 10
Domain No_telp_TU : Variable character string, length 20
CREATE TABLE Telp_TU (
No_telp varchar (20) NOT NULL, PRIMARY KEY (Kode_TU),
FOREIGN KEY (Kode_TU) REFERENCES
Tata_Usaha ON UPDATE CASCADE ON DELETE NO ACTION
)
11. Petugas_Loket
Domain Kode_petugas : Variable character string, length 10
Domain Nama_petugas : Variable character string, length 50
Domain Tempat_lahir_petugas : Variable character string, length 50
Domain Tgl_lahir_petugas : Variable character string, Length 25
Domain Alamat_petugas : Variable character string, length 225
Domain Agama_petugas : Variable character string, length 25
Domain Jenis_kelamin_petugas : Variable character string, length 1
Domain Password_petugas : Variabel character string,
CREATE TABLE Petugas_Loket (
Kode_petugas varchar (10) NOT NULL, Nama_petugas varchar (50) NOT NULL, Alamat_petugas varchar (225) NOT NULL, Tempat_lahir_petugas varchar (50) NOT NULL, Tgl_lahir_petugas varchar (25) NOT NULL, Agama_petugas varchar (25) NOT NULL, Jenis_kelamin_petugas varchar (1) NOT NULL, Password_petugas varchar (10) NOT NULL, PRIMARY KEY (Kode_ petugas)
)
12. Telp_petugas
Domain Kode_petugas : Variable character string, length 10
Domain No_telp : Variable character string, length 20
CREATE TABLE Telp_petugas (
Kode_petugas varchar (10) NOT NULL, No_telp varchar (20),
PRIMARY KEY (Kode_petugas, No_telp),
FOREIGN KEY (Kode_petugas) REFERENCES Petugas_Loket ON UPDATE CASCADE ON DELETE NO ACTION
)
13. Kelas
Domain Kode_kelas : Variable character string, length 6
Domain Program_studi : Variable character string, length 25
Domain Tingkatan : Variable character string, length 10
Domain Jumlah_siswa : Variable character string,
length 6
Domain Walikelas : Variable character string, length 50
Domain Tahun : Variable character string, length 10
CREATE TABLE Kelas (
Kode_kelas varchar (6) NOT NULL, Tingkatan varchar (10) NOT NULL,
Program_studi varchar (25) NOT NULL, Jumlah_siswa varchar (6) NOT NULL, Walikelas varchar (50) NOT NULL, Tahun varchar (10) NOT NULL, PRIMARY KEY (Kode_ kelas, Tahun) )
14. MatPel
Domain Kode_matpel : Variable character string, length 6
Domain Nama_matpel : Variable character string, length 50
CREATE TABLE MatPel (
Kode_matpel varchar (6) NOT NULL, Nama_matpel varchar (50) NOT NULL, PRIMARY KEY (Kode_ matpel)
)
15. Detail_matpel
Domain Kode_kelas : Variable character string, length 6
Domain Kode_matpel : Variable character string, length 6
length 50
Domain Tahun : Variabel character string, length 10
CREATE TABLE Detail_matpel (
Kode_matpel varchar (6) NOT NULL, Kode_kelas varchar (6) NOT NULL, Nama_buku varchar (50) NOT NULL, Tahun varchar (10) NOT NULL,
PRIMARY KEY (Kode_ matpel, Kode_kelas, Tahun), FOREIGN KEY (Kode_matpel) REFERENCES MatPel ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (Kode_kelas) REFERENCES Kelas ON UPDATE CASCADE ON DELETE NO ACTION )
16. Pengajar
Domain Kode_guru : Variable character string, length 10
Domain Kode_matpel : Variable character string, length 6
Domain Tahun : Variable character string, length 10
CREATE TABLE Pengajar (
Kode_matpel varchar (6) NOT NULL, Kode_guru varchar (10) NOT NULL, Tahun varchar (10) NOT NULL,
PRIMARY KEY (Kode_guru, Kode_matpel, Tahun), FOREIGN KEY (Kode_guru) REFERENCES Guru ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (Kode_matpel) REFERENCES MatPel ON UPDATE CASCADE ON DELETE NO ACTION )
17. SPP
Domain NIS : Variable character string, length 6
Domain Tgl_pembayaran : Variable character string, length 25
Domain Kode_Kelas : Variable character string, length 8
Domain Tahun : Variable character string, length 10
CREATE TABLE SPP (