
create database bank
功能二:
create table userinfo(
customerID number(10) not null,
customerName varchar2(10) not null,
PID char(18) not null,
telephone char(11) not null,
address varchar2(255) not null
)
create table cardinfo(
cardID varchar2(19) not null,
cardCustomerID number(10) not null,
curtype char(3) not null,
savingtype char(4) not null,
openDate date not null,
openmoney number(10,2) not null,
blance number(10,2) not null,
password char(6) not null,
isreportLoss char(2) not null
)
create table transinfo(
id number(15) not null,
transcustomerID number(10) not null,
transcardID varchar2(19) not null,
transdate date not null,
transmoney number(10,2) not null,
transtype char(4) not null,
remark varchar2(255) not null
)
功能三:
alter table userinfo add constraint pk_userinfo primary key (customerID)
alter table userinfo add constraint ck_PID check(length(PID)=18)
alter table cardinfo add constraint pk_cardinfo primary key (cardID)
alter table cardinfo add constraint fk_CustomerID_card foreign key cardCustomerID references userinfo(customerID)
alter table transinfo add constraint pk_transinfo primary key (id)
alter table transinfo add constraint fk_CustomerID_trans foreign key cardCustomerID references userinfo(customerID)
alter table transinfo add constraint fk_transcardID_trans foreign key cardCustomerID references cardinfo(cardID)
功能四:
insert into userinfo values(1,'张三','123456789012345671','13012345671','地址1')
insert into userinfo values(2,'李四','123456789012345672','13012345672','地址2')
insert into userinfo values(3,'王五','123456789012345673','13012345673','地址3')
insert into cardinfo values('1234567890123456789',1,'RMB','活期',sysdate,5.04,5.04,'123456','否')
insert into cardinfo values('1234567890123456788',2,'JPY','活期',sysdate,3.22,3.22,'123457','否')
insert into cardinfo values('1234567890123456787',3,'USA','定期',sysdate,6.78,6.78,'123458','否')
insert into transinfo values(1,1,'1234567890123456789',sysdate,0.23,'存入','存钱')
insert into transinfo values(2,2,'1234567890123456788',sysdate,1.27,'支取','取钱')
insert into transinfo values(3,3,'1234567890123456787',sysdate,2.34,'存入','存钱')
功能五:
select transcardID,transmoney from transinfo where to_char(transdate,'mm')=to_char(sysdate,'mm') and transmoney=max(transmoney)
功能六:
create procedure p_c
is
cursor cr is
select b.cardID,a.customerName,a.telephone from userinfo a,cardinfo b where a.customerID=b.cardCustomerID and to_char(sysdate,'dd') in ('28','29','30','31') and b.blance<200
cur_info cr
begin
for cur_info in cr loop
dbms_output.put_line('卡号:' || cur_info.cardID || '&&' || '姓名:' || cur_info.customerName || '电话:' || cur_info.telephone)
end loop
end p_c
多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做关系表,另外一个叫做字典表或者副表(字典表是纪录比较少,而且基本稳定的,例如:版块名称;副表是内容比较多,内容变化的,例如)。按照数据库的增删查改 *** 作,多对多关系的查找都可以用inner join或者
select * from 主表 where id in (select 主表id from 关系表)
1,角色任命型
特点:关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键,有一个表是字典类型的表。
界面特点:显示主表,用checkbox或多选select设置多选关系。
例如:任命版主(用户表-关系表-版块名称表),角色权限控制等,用户是5个版块版主,只要关系表5行纪录就可以确立,关系表的两个外键具有联合主键性质。
增加关系:如果没有组合纪录,insert之。
删除关系:如果有组合纪录,删除之。
2,集合分组型
特点:同角色任命型类似,关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键。区别是主副表都不是字典表,可能都很大不固定。
界面特点:显示主表,用搜索代替简单的checkbox或多选select,或者一条一条的添加。
例如:歌曲专集(专集表-关系表-歌曲表)。手机分组(分组表-关系表-手机表)。用户圈子(圈子表-关系表-用户表)。文章标签(文章表-关系表-标签表)
增加关系:同版主任命型。
删除关系:同版主任命型。
3,明细帐型
特点:关系表可以有重复纪录,关系表一般有时间字段,有主键,可能还有文字型的字段用来说明每次发生关系的原因(消费)。
界面特点:显示关系表,用radio或下拉设置单选关系。
例如:现金消费明细帐或订单(用户表-订单表-消费原因表),用户可能多次在同一事情上重复消费。积分变化纪录也属于这类。
增加关系:不管有没有组合纪录,insert之,纪录时间。
删除关系:根据关系表PK删除。
4,评论回复型
特点:同明细帐型关系表一般有时间字段,有主键,区别是重点在文字型的字段用来说明每次发生关系的内容(评论回复)。
界面特点:回复文本框。
例如:论坛回复(用户表-回复表-帖子表),用户可能多次在不同帖子上评论回复费。
增加关系:不管有没有组合纪录,insert之,纪录时间和文字。
删除关系:根据关系表(回复表)PK删除。
5,站内短信型
特点:主副表是同一个,关系表一般有时间字段,有主键,重点在关系表文字型的字段用来说明每次发生关系的内容(消息)或者其他标记位来表示文字已读状态时间等。
界面特点:回复文本框。
例如:站内短信(用户表-短信表-用户表),用户可能给用户群发或者单发,有标记位来表示文字已读状态时间等。
增加关系:不管有没有组合纪录,insert之,纪录时间和文字。
删除关系:根据关系表(回复表)PK删除。
6,用户好友型
特点:主副表是同一个,同集合分组型,关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键。
界面特点:同集合分组型,显示主表,用搜索代替简单的checkbox或多选select,或者一条一条的添加。
例如:下载站点的文件,(文件表-关系表-文件表)可以被软件工具打开,软件工具本身也是一种文件,可以被下载。用户的好友,也是用户(用户表-好友关系表-用户表)
增加关系:同版主任命型。
删除关系:同版主任命型
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)