• Tidak ada hasil yang ditemukan

ON DELETE NO ACTION

6. Memeriksa Untuk Pertumbuhan di Masa Depan

4.2.3 Perancangan Database Fisikal

4.2.3.1 Merancang Relasi Dasar

Pemilik

Domain PemilikNumber varchar, length 10, diawali dengan ‘PE’ Domain Username varchar, length 50

Domain Password varchar, length 50 Domain Nama varchar, length 100 Domain E-mail varchar, length 100 Domain AlamatPemilik varchar, length 100

Domain StatusPemilik varchar, length 50, ‘Verifikasi’ atau ‘Belum Verifikasi’

Domain Posisi varchar, length 10, ‘Pemilik’ atau ‘Admin’ DomainTransaksi integer, 0 atau 1

Domain Joindate datetime ,yyyy-mm-dd H:M:S Domain Gambar varchar, length 100

Pemilik(

PemilikID PemilikNumber NOT NULL, Username Username NOT NULL, Password Password NOT NULL, NamaPemilik NamaPemilik NOT NULL, E-mail E-mail NOT NULL, AlamatPemilik AlamatPemilik NOT NULL,

StatusPemilik StatusPemilik NOT NULL DEFAULT ‘Belum Verifikasi’,

Posisi Posisi NOT NULL DEFAULT ‘Pemilik’, Transaksi Transaksi NOT NULL DEFAULT 0,

Joindate Joindate NOT NULL,

Gambar Gambar NOT NULL,

Primary Key(PemilikID));

Handphone

Domain HandphoneNumber varchar, length 10, diawali dengan ‘HP’ Domain NomorHandphone varchar, length 20,

Domain PemilikNumbervarchar, length 10, diawali dengan ‘PE’

Handphone(

HandphoneID HandphoneNumber NOT NULL, PemilikID PemilikNumber NOT NULL, NomorHandphone NomorHandphone NOT NULL

Foreign Key (PemilikID)references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE CASCADE);

Telepon

Domain TeleponNumber varchar, length 10, diawali dengan ‘TEL’ Domain NomorTelepon varchar, length 20,

Domain PemilikNumbervarchar, length 10, diawali dengan ‘PE’

Telepon(

TeleponID HandphoneNumber NOT NULL, PemilikID PemilikNumber NOT NULL, NomorTelepon NomorTelepon NOT NULL

Primary Key (TeleponID),

Foreign Key (PemilikID)references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE CASCADE));

Member

Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain Username varchar, length 50

Domain Password varchar, length 50 Domain NamaMember varchar, length 100 Domain E-mail varchar, length 100

Domain JenisMember varchar, length 10, ‘User’ atau ‘Admin’ Domain StatusMember varchar, length 10, ‘Banned’ atau ‘Unbanned’ Domain Gambar varchar, length 100

Domain Posisi varchar, length 10, ‘Member’,’Admin’,’Co-Admin’

Domain Joindate datetime, yyyy-mm-dd H:M:S

Member(

MemberID MemberNumber NOT NULL, Username Username NOT NULL, Password Password NOT NULL, NamaMember NamaMember NOT NULL, E-mail E-mail NOT NULL, JenisMember JenisMember NOT NULL,

StatusMember StatusMember NOT NULL DEFAULT ‘Unbanned’,

Gambar Gambar NOT NULL,

Posisi Posisi NOT NULL DEFAULT ‘Member’, Joindate Joindate NOT NULL,

KategoriUsaha

Domain KategoriNumber varchar, length 10, diawali dengan ‘KT’ Domain KategoriName varchar, length 20, ‘Hiburan’ atau ’Jasa’ atau

’Tempat Makan’atau’Toko’atau’Unknown’ Domain KategoriDate date, yyyy-mm-dd

KategoriUsaha(

KategoriID KategoriNumber NOT NULL,

KategoriName KategoriName NOT NULL DEFAULT ‘Unknown’,

KategoriDate KategoriDate NOT NULL,

Primary Key (KategoriID));

MapUsaha

Domain MapUsahaNumber varchar, length 10, diawali dengan ‘MU’ Domain MapUsahaLatitude number

Domain MapUsahaLongitude number

MapUsaha(

MapUsahaID MapUsahaNumber NOT NULL, Latitude MapUsahaLatitude NOT NULL, Longitude MapUsahaLongitude NOT NULL,

Primary Key (MapUsahaID));

Map

Domain MapNumber varchar, length 10, diawali dengan ‘MA’ Domain MapLatitude number

Domain MapLongitude number

Map(

MapID MapNumber NOT NULL, Latitude MapLatitude NOT NULL, Longitude MapLongitude NOT NULL,

Primary Key (MapID));

Forum

Domain ForumNumber varchar, length 10, diawali dengan ‘FR’ Domain ForumName varchar, length 20,

Domain ForumInputDate datetime, yyyy-mm-dd H:M:S Domain ForumDeskripsi text

Forum(

ForumID ForumNumber NOT NULL, ForumName ForumName NOT NULL, Inputdate ForumInputDate NOT NULL,

Deksripsi ForumDeskripsi NOT NULL,

Primary Key (ForumID));

ThreadForum

Domain ThreadNumber varchar, length 10, diawali dengan ‘TH’ Domain PemilikNumber varchar, length 10, diawali dengan ‘PE’ Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain ForumNumber varchar, length 10, diawali dengan ‘FO’ Domain NamaThread varchar, length 50

Domain TotalRating integer Domain TotalView integer Domain TotalKomentar integer Domain Deskripsi text

Domain LastUpdate date, ‘yyyy-mm-dd’

ThreadForum(

ThreadID ThreadNumber NOT NULL, PemilikID PemilikNumber NOT NULL, MemberID MemberNumber NOT NULL, ForumID ForumMember NOT NULL, NamaThread NamaThread NOT NULL,

Rating TotalRating NOT NULL DEFAULT 0,

View TotalView NOT NULL DEFAULT 0,

Komentar TotalKomentar NOT NULL DEFAULT 0, Deskripsi Deskripsi NOT NULL,

LastUpdate LastUpdate NOT NULL,

Primary Key (ThreadID),

Foreign Key (PemilikID) references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (MemberID) references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (ForumID) references Forum(ForumID) ON UPDATE

CASCADE ON DELETE NO ACTION);

Komentar

Domain KomentarNumber varchar, length 10, diawali dengan ‘KO’ Domain PemilikNumber varchar, length 10, diawali dengan ‘PE’ Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain ThreadNumber varchar, length 10, diawali dengan ‘TH’ Domain Komentar text

Domain KomentarDate datetime, yyyy-mm-dd H:M:S

Komentar(

KomentarID KomentarNumber NOT NULL, PemilikID PemilikNumber NOT NULL,

MemberID MemberNumber NOT NULL, ThreadID ThreadNumber NOT NULL, Komentar Komentar NOT NULL, KomentarDate KomentarDate NOT NULL,

Primary Key (KomentarID),

Foreign Key (PemilikID)references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (MemberID)references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (ThreadID)references ThreadForum(ThreadID) ON UPDATE

CASCADE ON DELETE NO ACTION);

Rating

Domain RatingNumber varchar, length 10, diawali dengan ‘RA’ Domain PemilikNumber varchar, length 10, diawali dengan ‘PE’ Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain ThreadNumber varchar, length 10, diawali dengan ‘TH’ Domain RatingDate datetime, yyyy-mm-dd H:M:S

Rating(

RatingID RatingNumber NOT NULL, MemberID MemberNumber NOT NULL, PemilikID PemilikNumber NOT NULL, ThreadID ThreadNumber NOT NULL, RatingDate RatingDate NOT NULL,

Primary Key (RatingID),

Foreign Key (PemilikID)references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (MemberID)references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (ThreadID)references ThreadForum(ThreadID) ON UPDATE

CASCADE ON DELETE NO ACTION);

TempatUsaha

Domain UsahaNumber varchar, length 10, diawali dengan ‘UH’ Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain MapUsahaNumber varchar, length 10, diawali dengan ‘MU’ Domain KategoriNumber varchar, length 10, diawali dengan ‘KT’ Domain NamaUsaha varchar, length 50

Domain AlamatUsaha varchar, length 100 Domain Deskripsi text

Domain Inputdate datetime, yyyy-mm-dd H:M:S Domain Muka varchar, length 100

TempatUsaha(

UsahaID UsahaNumber NOT NULL, MemberID MemberNumber NOT NULL, MapUsahaID MapUsahaNumber NOT NULL, KategoriID KategoriNumber NOT NULL, NamaUsaha NamaUsaha NOT NULL, Alamat AlamatUsaha NOT NULL, Deskripsi Deskripsi NOT NULL, Inputdate UsahaInputDate NOT NULL, Muka MukaUsaha NOT NULL,

Rating RatingUsaha NOT NULL DEFAULT 0

Primary Key (UsahaID),

Foreign Key (MemberID)references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (MapUsahaID)references MapUsaha(MapUsahaID) ON UPDATE CASCADE ON DELETE NO ACTION,

Foreign Key (KategoriID)references KategoriUsaha(KategoriID) ON UPDATE CASCADE ON DELETE NO ACTION);

TempatKost

Domain KostNumber varchar, length 10, diawali dengan ‘KOS’ Domain PemilikNumber varchar, length 10, diawali dengan ‘PE’ Domain MapNumber varchar, length 10, diawali dengan ‘MA’ Domain NamaKost varchar, length 50

Domain AlamatKost varchar, length 100 Domain HargaSewa integer

Domain HargaBooking integer Domain JumlahKamar integer Domain KamarKosong integer Domain KamarBooked integer Domain Deskripsi text Domain JumlahRating integer

Domain InputDate datetime, yyyy-mm-dd H:M:S Domain DurasiSewa integer

Domain DurasiBooking integer

Domain MukaKost varchar, length 100

TempatKost(

KostID KostNumber NOT NULL, PemilikID PemilikNumber NOT NULL,

MapID MapNumber NOT NULL,

NamaKost NamaKost NOT NULL,

AlamatKost AlamatKost NOT NULL,

HargaSewa HargaSewa NOT NULL,

HargaBooking HargaBooking NOT NULL, JumlahKamar JumlahKamar NOT NULL,

KamarKosong KamarKosong NOT NULL, KamarBooking KamarBooked NOT NULL,

Deskripsi Deskripsi NOT NULL,

Rating JumlahRating NOT NULL DEFAULT 0, InputDate InputDate NOT NULL,

DurasiSewa DurasiSewa NOT NULL, DurasiBooking DurasiBooking NOT NULL,

Muka MukaKost NOT NULL,

Primary Key (KostID),

Foreign Key (PemilikID)references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (MapID)references Map(MapID) ON UPDATE CASCADE ON

DELETE NO ACTION);

Fasilitas

Domain FasilitasNumber varchar, length 10, diawali dengan ‘FA’ Domain KostNumber varchar, length 10, diawali dengan ‘KOS’ Domain FasilitasName varchar, length 50

Fasilitas(

FasilitasID FasilitasNumber NOT NULL, KostID KostNumber NOT NULL, Fasilitas FasilitasName NOT NULL,

Primary Key (FasilitasID),

Foreign Key (KostID)references TempatKost(KostID) ON UPDATE

CASCADE ON DELETE NO ACTION);

Foto

Domain FotoNumber varchar, length 10, diawali dengan ‘KOS’ Domain KostNumber varchar, length 10, diawali dengan ‘FO’ Domain FotoName varchar, length 50

Domain FotoDate date, ‘yyyy-mm-dd’

Foto(

FotoID FotoNumber NOT NULL, KostID KostNumber NOT NULL, FotoName FotoName NOT NULL, FotoDate FotoDate NOT NULL,

Primary Key (FotoID),

Foreign Key (KostID)references TempatKost(KostID) ON UPDATE

CASCADE ON DELETE NO ACTION);

Session

Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain PemilikNumber varchar, length 10, diawali dengan ‘PE’ Domain Name varchar, length 50

Domain Position varchar, length 10, ‘Pemilik’ atau ’Member’ atau ’Admin’

Domain Session_id varchar, length 50 Domain User_agent varchar, length 100 Domain Ip_address varchar, length 50 Domain Last_activity date, ‘yyyy-mm-dd’

Session(

SessionID SessionNumber NOT NULL, MemberID MemberNumber NOT NULL, PemilikID PemilikNumber NOT NULL,

Name Name NOT NULL,

Position Position NOT NULL, Session_id Session_id NOT NULL, User_agent User_agent NOT NULL, Ip_address Ip_address NOT NULL, Last_activity Last_activity NOT NULL,

Primary Key (SessionID),

Foreign Key (PemilikID)references Pemilik(PemilikID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (MemberID)references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION);

SewaKost

Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain KostNumber varchar, length 10, diawali dengan ‘KOS’ Domain NamaPenyewa varchar, length 100

Domain AlamatPenyewa varchar, length 100 Domain KontakPenyewa varchar, length 20 Domain JumlahUang integer

Domain BeritaSewa text

Domain TanggalMulai datetime, yyyy-mm-dd H:M:S Domain TanggalAkhir datetime, yyyy-mm-dd H:M:S Domain TanggalBayar datetime, yyyy-mm-dd H:M:S Domain NomorRekening varchar, length 100

Domain PemilikRekening varchar, length 100 Domain BuktiBayar varchar, length 100 Domain Bank varchar, length 20 Domain CaraBayar varchar, length 20

Domain StatusBayar varchar, length 20, ‘Pending’ atau ‘Selesai’ atau ‘Cancel’

SewaKost(

MemberID MemberNumber NOT NULL, KostID KostNumber NOT NULL, NamaPenyewa NamaPenyewa NOT NULL, AlamatPenyewa AlamatPenyewa NOT NULL, Kontak KontakPenyewa NOT NULL, Total JumlahUang NOT NULL, Berita BeritaSewa NOT NULL, TanggalMulai TanggalMulai NOT NULL, TanggalAkhir TanggalAkhir NOT NULL, TanggalBayar TanggalBayar NOT NULL,

Bank Bank NOT NULL,

Rekening NomorRekening NOT NULL, PemilikRekeningPemilikRekening NOT NULL, Bukti BuktiBayar DEFAULT NULL, CaraBayar CaraBayar NOT NULL,

Status StatusBayar NOT NULL DEFAULT ‘Pending’, Durasi DurasiSewa NOT NULL,

Primary Key (MemberID,KostID),

Foreign Key (MemberID)references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (KostID)references TempatKost(KostID) ON UPDATE

CASCADE ON DELETE NO ACTION);

BookingKost

Domain MemberNumber varchar, length 10, diawali dengan ‘ME’ Domain KostNumber varchar, length 10, diawali dengan ‘KOS’ Domain NamaPenyewa varchar, length 100

Domain AlamatPenyewa varchar, length 100 Domain KontakPenyewa varchar, length 20 Domain JumlahUang integer

Domain BeritaSewa text

Domain TanggalMulai datetime, yyyy-mm-dd H:M:S Domain TanggalAkhir datetime, yyyy-mm-dd H:M:S Domain TanggalBayar datetime, yyyy-mm-dd H:M:S Domain NomorRekening varchar, length 100

Domain PemilikRekening varchar, length 100 Domain BuktiBayar varchar, length 100 Domain Bank varchar, length 20 Domain CaraBayar varchar, length 20

Domain StatusBayar varchar, length 20, ‘Pending’ atau ‘Selesai’ atau ‘Cancel’

Domain DurasiSewa integer

BookingKost(

KostID KostNumber NOT NULL, NamaPenyewa NamaPenyewa NOT NULL, AlamatPenyewa AlamatPenyewa NOT NULL, Kontak KontakPenyewa NOT NULL, Total JumlahUang NOT NULL, Berita BeritaSewa NOT NULL, TanggalMulai TanggalMulai NOT NULL, TanggalAkhir TanggalAkhir NOT NULL, TanggalBayar TanggalBayar NOT NULL,

Bank Bank NOT NULL,

Rekening NomorRekening NOT NULL, PemilikRekeningPemilikRekening NOT NULL, Bukti BuktiBayar DEFAULT NULL, CaraBayar CaraBayar NOT NULL,

Status StatusBayar NOT NULL DEFAULT ‘Pending’, Durasi DurasiSewa NOT NULL,

Primary Key (MemberID,KostID),

Foreign Key (MemberID)references Member(MemberID) ON UPDATE

CASCADE ON DELETE NO ACTION,

Foreign Key (KostID)references TempatKost(KostID) ON UPDATE

CASCADE ON DELETE NO ACTION);

Dokumen terkait