设计3NF数据库

时间:2018-10-25 12:39:31

标签: sqlite relational-database

我正在为保险管理系统设计一个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查询正确地编译了这些数据库。

1 个答案:

答案 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)

相关问题