Đây là gợi ý của tôi:tránh CHAR
loại dữ liệu trừ khi nó có ý nghĩa (chẳng hạn như ở giới tính , như bạn đã làm), cũng như VARCHAR
>>> sử dụng VARCHAR2
thay vào đó (cá nhân tôi không bao giờ sử dụng CHAR
và chưa bao giờ sử dụng VARCHAR
).
DATE
kiểu dữ liệu chứa cả thành phần ngày và giờ, vì vậy bạn sẽ an toàn nếu sử dụng.
Các cột tạo ràng buộc khóa chính không nhất thiết phải có NOT NULL
đã chỉ định ràng buộc, vì các khóa chính vẫn không cho phép giá trị rỗng.
Vì vậy, đây là một ví dụ hoạt động:
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>