1、 某社区需建立本社区常住人口健康档案管理系统,涉及两张表。
基本信息表 Resident_Health
Resident_Health
Res_id 编号 NUMBER(9)
CERT_ID 身份证号码 VARCHAR2(25)
NAME 姓名 VARCHAR2(60)
HEALTH_INFO 健康状况 VARCHAR2(1000)
FAMILY_INCOME 家庭年收入 NUMBER(9,2)
社区居民的身份证信息表CERT:
CERT
CERT_ID 身份证号码 VARCHAR2(25)
FAMILY_ADDR 家庭住址 VARCHAR2(1000)
1) 给出RESIDENT_ HEALTH的建表语句;
CREATE TABLE RESIDENT_HEALTH
(Res_id NUMBER(9),
CERT_ID VARCHAR2(25),
NAME VARCHAR2(60),
HEALTH_INFO VARCHAR2(1000),
FAMILY_INCOME NUMBER(9,2));
2)请根据RESIDENT_HEALTH表的RES_ID字段给RESIDENT_HEALTH表建立一个索引IDX_RES,根据CERT_ID字段建立一个外键FK_RES,引用到CERT表的CERT_ID字段;
3)请参照以上两张表,统计出1956年出生的居民的姓名、家庭住址、健康状况和家庭年收入。主要是第2)和第3)问,
基本信息表 Resident_Health
Resident_Health
Res_id 编号 NUMBER(9)
CERT_ID 身份证号码 VARCHAR2(25)
NAME 姓名 VARCHAR2(60)
HEALTH_INFO 健康状况 VARCHAR2(1000)
FAMILY_INCOME 家庭年收入 NUMBER(9,2)
社区居民的身份证信息表CERT:
CERT
CERT_ID 身份证号码 VARCHAR2(25)
FAMILY_ADDR 家庭住址 VARCHAR2(1000)
1) 给出RESIDENT_ HEALTH的建表语句;
CREATE TABLE RESIDENT_HEALTH
(Res_id NUMBER(9),
CERT_ID VARCHAR2(25),
NAME VARCHAR2(60),
HEALTH_INFO VARCHAR2(1000),
FAMILY_INCOME NUMBER(9,2));
2)请根据RESIDENT_HEALTH表的RES_ID字段给RESIDENT_HEALTH表建立一个索引IDX_RES,根据CERT_ID字段建立一个外键FK_RES,引用到CERT表的CERT_ID字段;
3)请参照以上两张表,统计出1956年出生的居民的姓名、家庭住址、健康状况和家庭年收入。主要是第2)和第3)问,
from Resident_Health a, CERT b
where a.CERT_ID = b.CERT_ID and ((len(a.CERT_ID) = 18 and substring(a.CERT_ID,7,4) = '1956') or (len(a.CERT_ID) = 15 and substring(a.CERT_ID,7,2) = '56'))
alter table RESIDENT_HEALTH
add constraint FK_RES foreign key CERT_ID on CERT(CERT_ID )
(
CERT_ID VARCHAR(25) FOREIGN KEY REFERENCES Resident_Health(CERT_ID),
FAMILY_ADDR VARCHAR(100)
)
CREATE TABLE RESIDENT_HEALTH
(Res_id NUMBER(9) not null Primary key,
CERT_ID VARCHAR2(25) not null foreign key references [CERT](CERT_ID),
NAME VARCHAR2(60),
HEALTH_INFO VARCHAR2(1000),
FAMILY_INCOME NUMBER(9,2));
create index IX_RESIDENT_HEALTH on RESIDENT_HEALTH(CERT_ID)select
*--指定顯示列
from RESIDENT_HEALTH a
inner join [CERT] b on a.CERT_ID=b.CERT_ID
where substring(a.CERT_ID,7,4)=1956