我正在为保险管理系统设计一个3nf(关系)数据库。
以下是我的简介;
系统必须提供将其客户和汽车与记录的事故相关联的方法。每个客户都有姓名,地址,并且可以拥有一个或mpre驾驶执照。一个客户可以拥有1辆或更多汽车。汽车的编号,型号和制造年份。每辆车与零相关的任何数量的已记录事故。每起事故都有报告号,日期,位置和损失金额。 我已经整理了以下表格:
CREATE TABLE Customer(CID int primary key, Address varchar (50),Name varchar (50));
CREATE TABLE Driving_Lisc (CID int, Lisc_NO int, primary key);
CREATE TABLE Car(Reg_No varchar (20) primary key, Model nvarchar (20),year int)
CREATE TABLE Owns(CID int, Reg_No nvarchar(20) composite key)
CREATE Accident (Reported_No int primary key, Location varchar (40), date date)
Participated(CID int, Reg_No nvarchar(20), Reported No int primary key, damage Amount float)
我正在寻找是否为了完成SQLite查询正确地编译了这些数据库。
答案 0 :(得分:0)
答案是否,这是因为:-
在CREATE TABLE Driving_Lisc (CID int, Lisc_NO int, primary key);
中,有一个多余的 ,
,它用primary key
分隔,或者在逗号后面省略了列名和类型。
在CREATE TABLE Owns(CID int, Reg_No nvarchar(20) composite key)
composite 中,它不是SQLite关键字,在列类型('nvarchar(20)')后面应有一个。
在CREATE Accident (Reported_No int primary key, Location varchar (40), date date)
中,您没有指定要创建的内容。您可能需要CREATE TABLE Accident (Reported_No int primary key, Location varchar (40), date date)
使用Participated(CID int, Reg_No nvarchar(20), Reported No int primary key, damage Amount float)
将导致语法错误,因为没有SQL关键字指示要执行的操作。您可能需要CREATE TABLE Participated(CID int, Reg_No nvarchar(20), Reported No int primary key, damage Amount float)