四、数据库设计
在系统设计的开始,我们根据系统具体的需求进行分析,利用“实体联系模型(ER模型)”来描述数据库的结构与语义,ER模型直接从现实世界抽象出了实体类型以及实体与实体之间的联系,然后用ER模型来表示数据模型。
数据库的设计经过我们的分析,将系统中涉及的功能表现出来,其中表的建立尤为重要。 数据库表的建立不仅是字段的建立,表与表之间的关系也不可或缺。主键、外键的关系需要谨慎建立。创建外键关系即是将各表与表之间联系起来。表与表之间一旦脱离了外键之间的关系而独立,那么系统之间的功能也将难以完成。
(一)E-R模型图
客户111订单n零部件n销售1财务11留言1享有1服务1人员1管理信息1售后服务1反馈1采购1仓库
图4-1 汽车零部件销售管理系统E-R图
(二)数据库模型图
图中显示了数据库中的表,各表在数据库中所存在的联系,即他们之间的主外键的关系,如图4-2所示。
EmployeesPKID EmployeeNoDepartmentIDNameBirthDateHireDateAddressCityProvincePostCodeCountryTelephoneAppraiseUsersInfoPKID UserIDRealNameLoginNamePasswordAddressEmailPhoneRegistDateState Web_StaffInputProductsDetailsPKProductIDPKInputProductID QunatityAmountsPayableAmountPaidDifferenceMoneyRemarkCommpanyNameInputProductsInfoPKID InputProductIDMainPersonDateRemarksIsSure Web_ModuleOutputProductsDetailsWeb_StaffRight ProductIDOutputProductIDQunatityAmountReceivableCollectedDifferenceMoneyCompanyNameRemarkShippers IDSTAFFIDMODULEIDEnabledCreateStaffIDCreateDateModifyStaffIDModifyDateWarehousePKShipperID IDCompanyTelephoneAddressProvinceCityCountryEmailPostCodeRemarks IDWarehouseNoWarehouseNameRemarksOrderStatusPKStatus StatusNameOrdersPK FK2 FK1 IDOrderIDUserIDShipperIDEmployeeIDOrderDateRequireDateShipAddressShipCityShipProvincePostCodeShipCountryPhoneCheckOutTypeStatusSaleDateRemarksCategoriesPKID CategoryIDCategoryNameIDTechnologyIDUserNameFullNameEmployeeNoDepartmentIDCodeSexBirthdayIDCardNationPolityPolityDateEducationSchoolDegreeTitleTitleDateTitleLevelWorkingDateTeachingDateOldTechnologyJoinInPropertyCategoryDutyPostSubjectOfficeZipCodeOfficeAddressOfficeFaxOfficePhoneHomeZipCodeHomeAddressHomeFaxPhoneEmailMobileOICQBargainIsDimissionDimissionDateDimissionCauseDimissionTechnologyNativePlaceResidenceBankIDIsStaffEnabledCanVisitIsVirtualOperatorTypeUserPasswordFirstVisitPreviousVisitLastVisitLoginCountLangThemeVisibleIsOperatorSortCodeDescriptionCreateStaffIDCreateDateModifyStaffIDModifyDateProductsPKID ProductIDSupplierIDCategoryIDPictureSizeDescriptionOriginalPriceWarehouseNoUnitPriceQunatityInStoreQunatityOnOrderReOrderLevelUnitDeptCommunicationsPKDeptCommunicationID SenderDepartmentIDToDepartmentIDContentIsReadSendDateOutputProductsInfoPKID OutputProductIDMainPersonDateOrderIDRemarksToUserMessageIDParentIDFullNameCodeNavigateUrlTargetWinFormModuleHeightModuleWidthIsGroupSortCodeEnabledIsPublicIsMenuExpandDescriptionCreateStaffIDCreateDateModifyStaffIDModifyDateSuppliers MessageIDToUsermessageMessageDateTopicReaderAnonumentorPKID SupplierIDCompanyNameAddressCityProvincePostCodeCountryPhoneFaxUserMessagesPKID UserIDLeaveMessagesLeaveDateEmployeeMessagePKID EmployeeIDDepartNoMessageContentDateT_SequenceOrderDetailsPKID OrderIDProductIDQuantityUnitPrice IDFullNamePrefixSeparatorSequenceDegressionStepDescriptionDepartmentsPKID DepartmentIDDepartmentName图4-2汽车零部件销售管理系统模型图
(三)数据库表设计
经过分析,系统中建立了数据库CarAccessories,并创建了如下表,如图4-3所示。
图4-3 CarAccessories数据库表
(四)数据字典
表名:Employees(员工表)
序号 1 2 3 4 5 6 7 8 列名 ID EmployeeNo DepartmentID Name BirthDate HireDate Address City 数据类型 int nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar 长度 小数位 标识 主键 允许空 默认值 4 20 15 20 50 50 200 50 0 0 0 0 0 0 0 0 是 是 否 否 是 是 是 是 是 是 说明 ID 员工编号 部门编号 员工 生日 雇用日期 住址 城市 (续表)
序号 9 10 11 12 13 列名 Province PostCode Country Telephone Appraise 数据类型 nvarchar nvarchar nvarchar nvarchar nvarchar 长度 小数位 标识 主键 允许空 默认值 50 50 50 50 16 0 0 0 0 0 是 是 是 是 是 说明 省份 邮政编码 国家 手机 部门评价
表名:InputProductsInfo(产品入库表)
序号 列名 数据类型 长度 小数位 标识 1 2 3 4 5 6 ID InputProductID MainPerson Date Remarks IsSure int nvarchar nvarchar datetime ntext bit 4 20 50 8 16 1 0 0 0 3 0 0 是 是 否 否 是 是 是 是 ID 入库单号 负责人 日期 备注 主键 允许空 默认值 说明
表名:OrderDetails(订单信息详表)
序号 1 2 3 4 5 列名 ID OrderID ProductID Quantity UnitPrice 数据类型 int nvarchar nvarchar int float 长度 4 50 20 4 8 小数位 0 0 0 0 0 标识 是 主键 是 允许空 否 否 是 是 是 默认值 说明 ID 订单号 产品号 库数量 单价