|
|
USE [master]
|
|
|
GO
|
|
|
/****** Object: Database [车辆管理系统] Script Date: 2024/12/29 13:22:48 ******/
|
|
|
CREATE DATABASE [车辆管理系统]
|
|
|
CONTAINMENT = NONE
|
|
|
ON PRIMARY
|
|
|
( NAME = N'YAN', FILENAME = N'E:\SQLDate\车辆管理系统.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
|
|
|
LOG ON
|
|
|
( NAME = N'YAN_log', FILENAME = N'E:\SQLDate\车辆管理系统_log.ldf' , SIZE = 3072KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
|
|
|
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET COMPATIBILITY_LEVEL = 160
|
|
|
GO
|
|
|
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
|
|
|
begin
|
|
|
EXEC [车辆管理系统].[dbo].[sp_fulltext_database] @action = 'enable'
|
|
|
end
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ANSI_NULL_DEFAULT OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ANSI_NULLS OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ANSI_PADDING OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ANSI_WARNINGS OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ARITHABORT OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET AUTO_CLOSE OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET AUTO_SHRINK OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET AUTO_UPDATE_STATISTICS ON
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET CURSOR_CLOSE_ON_COMMIT OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET CURSOR_DEFAULT GLOBAL
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET CONCAT_NULL_YIELDS_NULL OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET NUMERIC_ROUNDABORT OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET QUOTED_IDENTIFIER OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET RECURSIVE_TRIGGERS OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ENABLE_BROKER
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET DATE_CORRELATION_OPTIMIZATION OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET TRUSTWORTHY OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ALLOW_SNAPSHOT_ISOLATION OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET PARAMETERIZATION SIMPLE
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET READ_COMMITTED_SNAPSHOT OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET HONOR_BROKER_PRIORITY OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET RECOVERY FULL
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET MULTI_USER
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET PAGE_VERIFY CHECKSUM
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET DB_CHAINING OFF
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET TARGET_RECOVERY_TIME = 60 SECONDS
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET DELAYED_DURABILITY = DISABLED
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET ACCELERATED_DATABASE_RECOVERY = OFF
|
|
|
GO
|
|
|
EXEC sys.sp_db_vardecimal_storage_format N'车辆管理系统', N'ON'
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET QUERY_STORE = ON
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30), DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_STORAGE_SIZE_MB = 1000, QUERY_CAPTURE_MODE = AUTO, SIZE_BASED_CLEANUP_MODE = AUTO, MAX_PLANS_PER_QUERY = 200, WAIT_STATS_CAPTURE_MODE = ON)
|
|
|
GO
|
|
|
USE [车辆管理系统]
|
|
|
GO
|
|
|
/****** Object: User [Employee] Script Date: 2024/12/29 13:22:48 ******/
|
|
|
CREATE USER [Employee] FOR LOGIN [Employee] WITH DEFAULT_SCHEMA=[dbo]
|
|
|
GO
|
|
|
/****** Object: User [Analyst] Script Date: 2024/12/29 13:22:48 ******/
|
|
|
CREATE USER [Analyst] FOR LOGIN [Analyst] WITH DEFAULT_SCHEMA=[dbo]
|
|
|
GO
|
|
|
/****** Object: User [Admin] Script Date: 2024/12/29 13:22:48 ******/
|
|
|
CREATE USER [Admin] FOR LOGIN [Admin] WITH DEFAULT_SCHEMA=[dbo]
|
|
|
GO
|
|
|
/****** Object: Table [dbo].[发生] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE TABLE [dbo].[发生](
|
|
|
[驾驶员信息] [char](50) NULL,
|
|
|
[人员赔偿] [money] NULL,
|
|
|
[驾驶执照] [char](20) NOT NULL,
|
|
|
[事故编号] [char](15) NOT NULL,
|
|
|
PRIMARY KEY CLUSTERED
|
|
|
(
|
|
|
[驾驶执照] ASC,
|
|
|
[事故编号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
) ON [PRIMARY]
|
|
|
GO
|
|
|
/****** Object: View [dbo].[view_发生] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
|
|
|
-- 创建视图
|
|
|
CREATE VIEW [dbo].[view_发生]
|
|
|
AS
|
|
|
select * from 发生;
|
|
|
GO
|
|
|
/****** Object: Table [dbo].[客户] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE TABLE [dbo].[客户](
|
|
|
[客户编号] [char](20) NOT NULL,
|
|
|
[名字] [nchar](5) NOT NULL,
|
|
|
[地址] [nvarchar](20) NULL,
|
|
|
PRIMARY KEY CLUSTERED
|
|
|
(
|
|
|
[客户编号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
) ON [PRIMARY]
|
|
|
GO
|
|
|
/****** Object: Table [dbo].[品牌] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE TABLE [dbo].[品牌](
|
|
|
[品牌号] [char](20) NOT NULL,
|
|
|
[品牌名] [nchar](10) NOT NULL,
|
|
|
[品牌所属公司] [char](20) NULL,
|
|
|
PRIMARY KEY CLUSTERED
|
|
|
(
|
|
|
[品牌号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
) ON [PRIMARY]
|
|
|
GO
|
|
|
/****** Object: Table [dbo].[汽车] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE TABLE [dbo].[汽车](
|
|
|
[驾驶执照] [char](20) NOT NULL,
|
|
|
[年限] [date] NOT NULL,
|
|
|
[型号] [char](10) NULL,
|
|
|
[品牌号] [char](20) NULL,
|
|
|
[客户编号] [char](20) NULL,
|
|
|
PRIMARY KEY CLUSTERED
|
|
|
(
|
|
|
[驾驶执照] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
) ON [PRIMARY]
|
|
|
GO
|
|
|
/****** Object: View [dbo].[vw_CustomerCarInfo] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE VIEW [dbo].[vw_CustomerCarInfo]
|
|
|
AS
|
|
|
SELECT c.名字, c.地址, a.驾驶执照, a.型号, b.品牌名
|
|
|
FROM 客户 c
|
|
|
JOIN 汽车 a ON c.客户编号 = a.客户编号
|
|
|
JOIN 品牌 b ON a.品牌号 = b.品牌号;
|
|
|
GO
|
|
|
/****** Object: View [dbo].[vw_AccidentCustomers] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE VIEW [dbo].[vw_AccidentCustomers]
|
|
|
AS
|
|
|
SELECT c.名字, c.地址, COUNT(e.事故编号) AS 事故次数
|
|
|
FROM 客户 c
|
|
|
JOIN 汽车 a ON c.客户编号 = a.客户编号
|
|
|
JOIN 发生 e ON a.驾驶执照 = e.驾驶执照
|
|
|
GROUP BY c.名字, c.地址;
|
|
|
GO
|
|
|
/****** Object: View [dbo].[vw_CustomerPurchaseTime] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE VIEW [dbo].[vw_CustomerPurchaseTime]
|
|
|
AS
|
|
|
SELECT c.名字, c.客户编号, MIN(a.年限) AS 最早购车时间
|
|
|
FROM 客户 c
|
|
|
JOIN 汽车 a ON c.客户编号 = a.客户编号
|
|
|
GROUP BY c.名字, c.客户编号;
|
|
|
GO
|
|
|
/****** Object: View [dbo].[vw_BrandCarCount] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE VIEW [dbo].[vw_BrandCarCount]
|
|
|
AS
|
|
|
SELECT b.品牌名, COUNT(a.驾驶执照) AS 汽车数量
|
|
|
FROM 品牌 b
|
|
|
LEFT JOIN 汽车 a ON b.品牌号 = a.品牌号
|
|
|
GROUP BY b.品牌名;
|
|
|
GO
|
|
|
/****** Object: Table [dbo].[事故] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE TABLE [dbo].[事故](
|
|
|
[事故编号] [char](15) NOT NULL,
|
|
|
[地点] [char](20) NOT NULL,
|
|
|
[日期] [datetime] NULL,
|
|
|
PRIMARY KEY CLUSTERED
|
|
|
(
|
|
|
[事故编号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
) ON [PRIMARY]
|
|
|
GO
|
|
|
/****** Object: View [dbo].[vw_AccidentCarDetails] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE VIEW [dbo].[vw_AccidentCarDetails]
|
|
|
AS
|
|
|
SELECT o.事故编号, o.地点, o.日期, a.驾驶执照, a.型号, b.品牌名, e.驾驶员信息, e.人员赔偿
|
|
|
FROM 事故 o
|
|
|
JOIN 发生 e ON o.事故编号 = e.事故编号
|
|
|
JOIN 汽车 a ON e.驾驶执照 = a.驾驶执照
|
|
|
JOIN 品牌 b ON a.品牌号 = b.品牌号;
|
|
|
GO
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'赵强 二十岁 单身 ', 100.0000, N'430923201501010001 ', N'20150201 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'孙悦 二十一岁 单身 ', 200.0000, N'430923201501010002 ', N'20150202 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'孙悦 十九岁 单身 ', 200.0000, N'430923201501010002 ', N'20150207 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'春花 二十二岁 单身 ', 300.0000, N'430923201501010003 ', N'20150203 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'夏荷 二十三岁 单身 ', 400.0000, N'430923201501010004 ', N'20150204 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'秋菊 二十四岁 单身 ', 500.0000, N'430923201501010005 ', N'20150205 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'孙悦 十九岁 单身 ', 200.0000, N'430923201501010007 ', N'20150207 ')
|
|
|
INSERT [dbo].[发生] ([驾驶员信息], [人员赔偿], [驾驶执照], [事故编号]) VALUES (N'孙悦 十九岁 单身 ', 10.0000, N'430923201501010008 ', N'20150208 ')
|
|
|
GO
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150101 ', N'赵强 ', N'山东科技大学')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150102 ', N'张志成 ', N'山东科技大学')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150103 ', N'马骏 ', N'山东科技大学')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150104 ', N'周杰 ', N'广州市天河区')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150105 ', N'吴悠 ', N'深圳市南山区')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150106 ', N'郑明 ', N'广州市天河区')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150107 ', N'王芳 ', N'深圳市南山区')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150108 ', N'陈晨 ', N'广州市天河区')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150109 ', N'林娜 ', N'深圳市南山区')
|
|
|
INSERT [dbo].[客户] ([客户编号], [名字], [地址]) VALUES (N'20150110 ', N'刘辉 ', N'广州市天河区')
|
|
|
GO
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N' ', N' ', N' ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'123456 ', N'大成科技 ', N'东风集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010101 ', N'大飞科技 ', N'小米 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010102 ', N'东风雪铁龙 ', N'东风集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010103 ', N'东风锐达起亚 ', N'东风集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010104 ', N'东风本田 ', N'东风集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010105 ', N'东风有限 ', N'东风集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010106 ', N'东风乘用车 ', N'东风集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010107 ', N'东方之星 ', N'东方汽车集团 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010108 ', N'瑞风荣耀 ', N'瑞风汽车工业 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010109 ', N'启辰之光 ', N'启辰汽车制造 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015010110 ', N'幻速传奇 ', N'幻速汽车科技 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'2015011 ', N'科技有限公司 ', N'小米 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'201507777 ', N'山东科技 ', N'山东有限公司 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'20160715 ', N'红米小蜜 ', N'小米 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'20232999 ', N'科技中心 ', N'安全中心 ')
|
|
|
INSERT [dbo].[品牌] ([品牌号], [品牌名], [品牌所属公司]) VALUES (N'666666 ', N'小米 ', N'东风集团 ')
|
|
|
GO
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010001 ', CAST(N'2016-01-01' AS Date), N'AK01 ', N'2015010101 ', N'20150101 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010002 ', CAST(N'2016-01-02' AS Date), N'AK02 ', N'2015010102 ', N'20150102 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010003 ', CAST(N'2016-01-03' AS Date), N'小米 ', N'2015010103 ', N'20150103 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010004 ', CAST(N'2016-01-04' AS Date), N'AK04 ', N'2015010104 ', N'20150104 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010005 ', CAST(N'2016-01-05' AS Date), N'AK04 ', N'2015010105 ', N'20150105 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010006 ', CAST(N'2016-01-06' AS Date), N'AK06 ', N'2015010106 ', N'20150106 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010007 ', CAST(N'2016-01-07' AS Date), N'AK06 ', N'2015010107 ', N'20150107 ')
|
|
|
INSERT [dbo].[汽车] ([驾驶执照], [年限], [型号], [品牌号], [客户编号]) VALUES (N'430923201501010008 ', CAST(N'2016-01-08' AS Date), N'AK08 ', N'2015010108 ', N'20150108 ')
|
|
|
GO
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150201 ', N'第一幼儿园第一街 ', CAST(N'2015-02-01T01:01:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150202 ', N'第一幼儿园第二街 ', CAST(N'2015-02-01T01:02:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150203 ', N'第一幼儿园第三街 ', CAST(N'2015-02-01T01:03:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150204 ', N'第一幼儿园第四街 ', CAST(N'2015-02-01T01:04:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150205 ', N'第一幼儿园第五街 ', CAST(N'2015-02-01T01:05:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150206 ', N'第一幼儿园第六街 ', CAST(N'2015-02-01T01:06:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150207 ', N'第六街 ', CAST(N'2015-02-01T01:06:00.000' AS DateTime))
|
|
|
INSERT [dbo].[事故] ([事故编号], [地点], [日期]) VALUES (N'20150208 ', N'第六街 ', CAST(N'2015-02-01T01:06:00.000' AS DateTime))
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Occurrence_DrivingLicense_FK] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Occurrence_DrivingLicense_FK] ON [dbo].[发生]
|
|
|
(
|
|
|
[驾驶执照] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Customer_CustomerID] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Customer_CustomerID] ON [dbo].[客户]
|
|
|
(
|
|
|
[客户编号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Customer_Name] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Customer_Name] ON [dbo].[客户]
|
|
|
(
|
|
|
[名字] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Brand_BrandID] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Brand_BrandID] ON [dbo].[品牌]
|
|
|
(
|
|
|
[品牌号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Brand_BrandName] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Brand_BrandName] ON [dbo].[品牌]
|
|
|
(
|
|
|
[品牌名] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Car_BrandID_FK] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Car_BrandID_FK] ON [dbo].[汽车]
|
|
|
(
|
|
|
[品牌号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Car_DrivingLicense] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Car_DrivingLicense] ON [dbo].[汽车]
|
|
|
(
|
|
|
[驾驶执照] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
SET ANSI_PADDING ON
|
|
|
GO
|
|
|
/****** Object: Index [idx_Accident_AccidentID] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
CREATE NONCLUSTERED INDEX [idx_Accident_AccidentID] ON [dbo].[事故]
|
|
|
(
|
|
|
[事故编号] ASC
|
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
|
|
GO
|
|
|
ALTER TABLE [dbo].[发生] WITH CHECK ADD FOREIGN KEY([驾驶执照])
|
|
|
REFERENCES [dbo].[汽车] ([驾驶执照])
|
|
|
GO
|
|
|
ALTER TABLE [dbo].[发生] WITH CHECK ADD FOREIGN KEY([事故编号])
|
|
|
REFERENCES [dbo].[事故] ([事故编号])
|
|
|
GO
|
|
|
ALTER TABLE [dbo].[汽车] WITH CHECK ADD FOREIGN KEY([客户编号])
|
|
|
REFERENCES [dbo].[客户] ([客户编号])
|
|
|
GO
|
|
|
ALTER TABLE [dbo].[汽车] WITH CHECK ADD FOREIGN KEY([品牌号])
|
|
|
REFERENCES [dbo].[品牌] ([品牌号])
|
|
|
GO
|
|
|
/****** Object: StoredProcedure [dbo].[pro_发生] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
|
|
|
-- 创建存储过程
|
|
|
CREATE PROCEDURE [dbo].[pro_发生]
|
|
|
AS
|
|
|
select * from 发生;
|
|
|
GO
|
|
|
/****** Object: StoredProcedure [dbo].[sp_CalculateAveragePurchaseYearForBrand] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE PROCEDURE [dbo].[sp_CalculateAveragePurchaseYearForBrand]
|
|
|
@BrandName NCHAR(10)
|
|
|
AS
|
|
|
BEGIN
|
|
|
SELECT AVG(YEAR(年限)) AS 平均购置年限
|
|
|
FROM 汽车 a
|
|
|
JOIN 品牌 b ON a.品牌号 = b.品牌号
|
|
|
WHERE b.品牌名 = @BrandName;
|
|
|
END;
|
|
|
GO
|
|
|
/****** Object: StoredProcedure [dbo].[sp_GetAccidentDriverInfoAndCompensation] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE PROCEDURE [dbo].[sp_GetAccidentDriverInfoAndCompensation]
|
|
|
@AccidentID CHAR(15)
|
|
|
AS
|
|
|
BEGIN
|
|
|
SELECT e.驾驶员信息, e.人员赔偿
|
|
|
FROM 发生 e
|
|
|
WHERE e.事故编号 = @AccidentID;
|
|
|
END;
|
|
|
GO
|
|
|
/****** Object: StoredProcedure [dbo].[sp_GetCustomerCars] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE PROCEDURE [dbo].[sp_GetCustomerCars]
|
|
|
@CustomerID CHAR(20)
|
|
|
AS
|
|
|
BEGIN
|
|
|
SELECT a.驾驶执照, a.年限, a.型号, b.品牌名
|
|
|
FROM 汽车 a
|
|
|
JOIN 品牌 b ON a.品牌号 = b.品牌号
|
|
|
WHERE a.客户编号 = @CustomerID;
|
|
|
END;
|
|
|
GO
|
|
|
/****** Object: StoredProcedure [dbo].[sp_InsertCar] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE PROCEDURE [dbo].[sp_InsertCar]
|
|
|
@DrivingLicense CHAR(20),
|
|
|
@Year DATE,
|
|
|
@Model CHAR(10),
|
|
|
@BrandID CHAR(20),
|
|
|
@CustomerID CHAR(20)
|
|
|
AS
|
|
|
BEGIN
|
|
|
-- 可以添加数据验证逻辑,例如检查品牌号和客户编号是否存在于相应表中
|
|
|
INSERT INTO 汽车 (驾驶执照, 年限, 型号, 品牌号, 客户编号)
|
|
|
VALUES (@DrivingLicense, @Year, @Model, @BrandID, @CustomerID);
|
|
|
END;
|
|
|
GO
|
|
|
/****** Object: StoredProcedure [dbo].[sp_UpdateCustomerAddress] Script Date: 2024/12/29 13:22:49 ******/
|
|
|
SET ANSI_NULLS ON
|
|
|
GO
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
|
GO
|
|
|
CREATE PROCEDURE [dbo].[sp_UpdateCustomerAddress]
|
|
|
@CustomerID CHAR(20),
|
|
|
@NewAddress NVARCHAR(20)
|
|
|
AS
|
|
|
BEGIN
|
|
|
UPDATE 客户
|
|
|
SET 地址 = @NewAddress
|
|
|
WHERE 客户编号 = @CustomerID;
|
|
|
END;
|
|
|
GO
|
|
|
USE [master]
|
|
|
GO
|
|
|
ALTER DATABASE [车辆管理系统] SET READ_WRITE
|
|
|
GO
|