Ini saran saya:hindari CHAR
tipe data kecuali masuk akal (seperti dalam gender , seperti yang Anda lakukan), serta VARCHAR
>>> gunakan VARCHAR2
sebagai gantinya (secara pribadi, saya tidak pernah menggunakan CHAR
, dan belum pernah menggunakan VARCHAR
).
DATE
tipe data berisi komponen tanggal dan waktu, jadi Anda aman jika menggunakannya.
Kolom yang membuat batasan kunci utama tidak harus memiliki NOT NULL
batasan yang ditentukan, karena kunci utama tetap tidak mengizinkan nol.
Jadi, ini dia, contoh kerja:
SQL> create table appointment
2 (appointid integer constraint pk_app primary key,
3 appoint_date date,
4 appoint_type varchar2(5)
5 );
Table created.
SQL>
SQL> insert into appointment values
2 (1, to_date('15.04.2017 10:00', 'dd.mm.yyyy hh24:mi'), 'long');
1 row created.
SQL>
SQL> create table doctor
2 (appointid integer constraint fk_doc_app references appointment (appointid),
3 regnum varchar2(6),
4 doc_name varchar2(40),
5 doc_gender char(1),
6 qual varchar2(80),
7 --
8 constraint pk_doc primary key (appointid, regnum)
9 );
Table created.
SQL>