Här är mitt förslag:undvik CHAR
datatyp om det inte är vettigt (som i kön , som du gjorde), samt VARCHAR
>>> använd VARCHAR2
istället (personligen använder jag aldrig CHAR
, och har aldrig någonsin använt VARCHAR
).
DATE
datatype innehåller både datum- och tidskomponent, så du är säker om du använder den.
Kolumner som gör den primära nyckelbegränsningen behöver inte ha NOT NULL
begränsning specificerad, eftersom primärnycklar inte tillåter nollvärden ändå.
Så här är det, ett fungerande exempel:
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>