数据库课程设计汽车销售管理系统.doc
《数据库课程设计汽车销售管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计汽车销售管理系统.doc(21页珍藏版)》请在咨信网上搜索。
汽车销售管理系统数据库设计与实现 软件工程064 0613042108 花磊 1定义 1、系统名称:汽车销售管理信息系统 2、数据库管理软件:Microsoft SQL Server 3、数据库设计采用软件:Microsoft Office Visio 2003 4、系统采用C/S体系结构:Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。 5、运行平台:windows 2000/xp/linux 2需求分析 2.1功能分析 ①基础信息管理: 1、厂商信息的管理:查询、增、删、改 2、车型信息的管理:查询、增、删、改 3、客户信息的管理:查询、增、删、改 ②进货管理: 4、车辆采购信息的管理:查询、增、删、改 5、车辆入库信息的管理:查询、增、删、改 ③销售管理: 6、车辆销售:客户可以根据自己的需求,选择不同型号的车型 7、收益统计:厂商按照所出售的车辆数量及价格进行统计 ④仓库管理: 8、库存车辆:仓库管理员对已有车辆进行详细管理 9、仓库明细:库存各种类型车辆的详细信息 10、进销存统计:仓库管理员对车辆的出售与进货进行统计 ⑤系统维护: 11、数据安全管理:系统管理员对该数据库出现的问题进行管理 12、操作员管理:操作员根据车辆销售情况及时更改数据库 13、权限设置:规定该数据库访问权限 2.2数据字典 1、数据项 编号 数据项名称 说 明 部 分 编号 数据项名 称 说 明 部 分 1 客户姓名 文本类型 长度为20字符 2 工作单位 文本类型 长度为20字符 3 性别 字符串类型 男、女 4 年龄 整数类型 18-100 5 客户号 字符串类型 有唯一性 6 联系电话 整数类型 7 车型号 字符串类型 有唯一性 8 价格 浮点型 9 车辆状态 枚举类型 被订、未订 10 厂商名 文本类型 有唯一性 11 厂商号 字符串类型 有唯一性 12 地址 文本类型 长度为30字符 13 生产车辆总数 整数类型 14 厂商状态 枚举类型 忙、闲 15 订单号 整数类型 订单所属的类别 16 订货日期 时间类型 **/** 17 交货日期 时间类型 **/** 18 仓库号 字符串类型 有唯一性 19 进货车辆数 整数类型 20 出货车辆数 整数类型 21 库存车辆总数 整数类型 22 出售车辆数 整数类型 23 车辆总成本 整数类型 24 获取总金额 整数类型 25 利润 整数类型 26 买车时间 时间类型 27 保修期限 时间类型 28 备注 文本类型 19 车辆名称 字符串类型 长度为20字符 2、数据结构 编号 数据结构名 属 性 1 客户 客户姓名、性别、年龄、客户号、工作单位、联系电话 2 车辆 车型号、车辆名称、厂商名、价格、车辆状态 3 厂商 厂商名、厂商号、地址、生产车辆总数、厂商状态、备注 4 订单 订单号、客户号、订货日期、交货日期、地址、是否存有、是否已订 5 仓库 仓库号、地址、进货车辆数、出货车辆数、库存车辆总数、 6 车辆销售 车型号、厂商号、出售车辆数、车辆总成本、获取总金额、利润 7 订货 客户、厂商、车辆、买车时间、保修期限 3、数据流 编号 数 据 流 名 输 入 输 出 1 变更客户 变更信息 客户信息 2 查询客户 客户号 客户信息 3 变更厂商 变更信息 厂商信息 4 查询厂商 厂商号 厂商信息 5 变更车辆 变更信息 车辆信息 6 查询车辆 车型号 车辆信息 7 变更订单 变更信息 订单信息 8 查询订单 订单号 订单信息 9 变更仓库 变更信息 仓库信息 10 仓库 仓库号 地址 11 变更车辆销售 变更信息 车辆销售信息 12 查询车辆销售 车辆销售数 利润 13 查询空闲厂商 厂商状态限制条件 空闲厂商信息 14 结账 车型号 购买信息 15 提交订货请求 客户号、车型号、价格、厂商号 车辆信息 16 获得订货请求 订货信息 车型号、厂商号、客户号 17 提交订单信息 车型号、厂商号 订单信息 18 变更厂商分工信息 厂商号、车型号 厂商分工信息 19 预定车辆 车型号 车辆信息 20 付款 车型号 车辆信息、厂商信息 4、数据存储 数据存储名 输入数据流 输出数据流 说 明 部 分 客户信息 变更客户 查询客户 提交订货请求 车辆信息 变更车辆 查询车辆 获得订货请求 厂商信息 变更厂商 查询房间 提交订货请求 查询空闲厂商 车辆销售信息 变更车辆销售 查询厂商 提交点货请求 查询空闲厂商 提交订货信息 提交订单信息 订单信息 变更订单 结账 提交订货请求 订货信息 提交订货请求 提交订单信息 结账 获得订货请求 厂商分工信息 变更厂商分工信息 5、处理过程 处理过程名 输入数据流 输出数据流 说 明 部 分 客户登记 终端 变更车辆 变更厂商 订货 终端 提交订货请求 获得订货请求 订货 获得订货请求 提交订货信息 订单 提交订货信息 提交订单信息 客户结账 结账 2.3数据流图 1、顶层进程――订货系统 2、第二层 1)进程1――查询订单数据流图 2)进程2――处理订单数据流图 3)进程3――开订单数据流图 4)进程4――结帐系统 3结构设计 3.1概念结构设计 3.2逻辑结构设计 3.2.1基本表 1、客户基本表 属性中文名称 属性名 类型 长度 说明 客户号 C_NO CHAR 20 主码:公司统一编号,具有唯一性 客户姓名 User_NAME CHAR 20 客户名称 服务员性别 User_SEX CHAR 4 客户性别 服务员年龄 User_AGE INT 18~100 联系电话 User_tel INT 工作单位 unit CHAR 20 客户所在工作场所 2、车辆基本表 属性中文名称 属性名 类型 长度 说明 车型号 CAR_NO CHAR 10 主码:厂商统一编号,具有唯一性 车辆名称 CAR_NAME CHAR 20 车辆名称 厂商名 INDUSTTY_NAME CHAR 文本类型 有唯一性 价格 PRICE FLOAT 车辆状态 STATUS BOOLEAN 枚举类型 被订、未订 3、厂商基本表 属性中文名称 属性名 类型 长度 说明 厂商号 INDUSTTY_NO CHAR 10 主码:厂商统一编号,具有唯一性 厂商名 INDUSTTY_NAME CHAR 文本类型 有唯一性 地址 address CHAR 10 厂商状态 STATUS BOOLEAN 忙:1;空闲:0 生产车辆总数 CAR_amount INT 4、仓库表 属性中文名称 属性名 类型 长度 说明 仓库号 BOX_NO CHAR 10 主码:厂商统一编号,具有唯一性 地址 address CHAR 10 进货车辆数 IN_AMOUNT INT 仓库开始进车辆的数量 出货车辆数 OU_AMOUNT INT 仓库已卖出的车辆数量 库存车辆总数 REMAIN_AMOUNT INT 仓库现存有的车辆数量 5、车辆销售基本表 属性中文名称 属性名 类型 长度 说明 车型号 CAR_NO CHAR 10 外码:参照车辆表的车型号 厂商号 INDUSTTY_NO CHAR 10 外码:依照厂商表的厂商号 出售车辆数 Sale_amount INT 车辆总成本 CAR_MONEY FLOAT 车辆进货的成本 获取总金额 MONEY FLOAT 利润 benift FLOAT 盈:1 亏:0 6、订单表 属性中文名称 属性名 类型 长度 说明 订单号 order_NO INT 10 订单所属的类别 客户号 C_NO CHAR 20 外码:参照客户表的客户号 订货日期 order_data data 订货时间 交货日期 Hand_data data 交货期限 厂商号 INDUSTTY_NO CHAR 10 外码:依据厂商表中的厂商号 是否存有 MADE BOOLEAN 默认:false(没有) 是否已订 orders BOOLEAN 默认:false (未订) 3.2.2视图 1、空闲厂商(厂商号,厂商名) 从厂商基本表导出 2、进销存统计(仓库号,进货车辆数,出货车辆数) 从仓库基本表导出 3、所有车辆销售信息(车型号,厂商号,车辆状态) 从车辆和厂商基本表导出 4、付款(车型号,厂商号,车辆名,价格) 从车辆表、厂商表导出 5、订单生成视图 订单(订单号,客户号,订货日期,交货日期,地址,是否存有,是否已订) 从订单表、客户表导出 6、收益统计信息 (车型号,出售车辆数,车辆总成本,获取总金额,利润) 从车辆表、车辆销售表导出 3.3物理结构设计 为了一个给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程,必须对该数据系统做一物理上的存储结构与存取方法。其中建立系统程序员视图: 1.数据在内存中的安排,包括对索引区、缓冲区的设计; 2.所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分; 3.访问数据的方式方法。 一,该汽车销售管理数据库系统关系模式存取方法: 第一类,B+树索引方法 第二类,聚簇方法 第三类, HASH 方法 二,该汽车销售管理系统数据库存储结构: 1. 确定数据的存放位置 2.确定系统配置 三,评价数据库系统的物理结构 数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,所以数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构 4运用设计 4.1系统的应用程序实施 4.1.1 VC++和SQL SERVER 2000源代码如下: #include<stdlib.h> #include<stdio.h> #include<windows.h> #include<sql.h> #include<sqlext.h> #include<Sqltypes.h> #include "stdafx.h" #include "adodc.h" #include "CarService.h" #include "CarServiceDlg.h" // Dispatch interfaces referenced by this interface #include "_recordset.h" #include "Font.h" #ifdef _DEBUG #include "datacombo.h" #include "CarService.h" #include "UserEditDlg.h" #include "UserInfo.h" #include "stddataformatsdisp.h" // Dispatch interfaces referenced by this interface #include "dataformatdisp.h" #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #include "BugManDlg.h" #include "BugEditDlg.h" #include "Bugs.h" #define CAR_NO-LEN 30 #define CAR_NAME-LEN 50 #define PRICE-LEN 100 #define User_tel_LEN 5 void CCarServiceDlg::OnUserman() { if (curUser.UserType == 2) { //普通用户不能管理用户信息 MessageBox("没有权限"); return; } CUserManDlg dlg; dlg.DoModal(); } void CUserEditDlg::OnOK() { UpdateData(TRUE); CUserInfo cur;// 用户名有效性操作 if(cId == "") {// 密码一致性 if(m_passwd != m_confirm) { MessageBox("请确认密码输入是否正确,请重新输入"); m_passwd = ""; m_confirm = ""; UpdateData(FALSE); GetDlgItem(IDC_PASSWD_EDIT)->SetFocus(); return;} // 用户名为空 if(m_user == "") { MessageBox("请输入用户名"); GetDlgItem(IDC_USER_EDIT)->SetFocus(); return; } // 用户名是否存在 if(cur.IsExistUser(m_user)) { MessageBox("此用户名已经存在,请换个密码来注册"); m_user = ""; UpdateData(FALSE); GetDlgItem(IDC_USER_EDIT)->SetFocus(); return;} } else { if(m_user == "admin") { MessageBox("此用户为默认用户,不能修改"); m_user = ""; UpdateData(FALSE); GetDlgItem(IDC_USER_EDIT)->SetFocus(); return;} } // 给cur赋值 cur.UserName = m_user;cur.Passwd = m_passwd; cur.UserType = m_type.GetCurSel() + 1; // 添加 if(cId == "") { cur.SqlInsert();} else { cur.SqlUpdate(m_user);} CDialog::OnOK(); } void CCarServiceDlg::OnPwdman() { CPasswdDlg dlg; dlg.m_user = curUser.UserName; dlg.DoModal(); } void CAdodc::SetConnectionString(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString CAdodc::GetUserName_() { CString result; InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void CBugManDlg::OnDelButton() { // TODO: Add your control notification handler code here UpdateData(TRUE); if (m_Adodc.GetRecordset().GetEof()) { MessageBox("请选择要删除的记录!"); return; } // 判断项目列表ListBug是否包含此客户号 /* if(m_Datagrid.GetItem(0) == "admin") { MessageBox("此用户为默认用户,不能删除!"); return; }*/ if (MessageBox("是否删除当前记录?","请确认", MB_YESNO + MB_ICONQUESTION) == IDYES) { // 删除 CBugs bug; bug.SqlDelete(m_Datagrid.GetItem(0)); RefreshData(); } } // 更新数据 void CBugManDlg::RefreshData() { UpdateData(TRUE); // 设置Select语句 CString cSource = "SELECT BugId,BugName AS 订单号,BDetail AS 订单描述," "SDetail AS 订单处理 FROM Bugs Order By BugId"; //刷新ADO Data控件的记录源 m_Adodc.SetRecordSource(cSource); m_Adodc.Refresh(); //设置列宽度 _variant_t vIndex; vIndex = long(0); m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(0); vIndex = long(1); //订单号 m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(100); vIndex = long(2); //订单描述 m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(200); vIndex = long(3); //订单处理 m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(200); } long CStdDataFormatsDisp::GetCount() { long result; InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } CDataFormatDisp CStdDataFormatsDisp::GetItem(const VARIANT& Index) { LPDISPATCH pDispatch; static BYTE parms[] = VTS_VARIANT; InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms, &Index); return CDataFormatDisp(pDispatch); } void CStdDataFormatsDisp::Add(LPDISPATCH pFormat, const VARIANT& Index) { static BYTE parms[] = VTS_DISPATCH VTS_VARIANT; InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, parms, pFormat, &Index); } BOOL CBugManDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here RefreshData(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } CString CDataCombo::GetBoundText() { CString result; InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void CDataCombo::SetBoundText(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x2, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString CDataCombo::GetBoundColumn() { CString result; InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } int main() { /* Step 1 定义句柄和变量 */ //以king开头的表示的是连接KingbaseES的变量 //以server开头的表示的是连接SQLSERVER的变量 SQLHENV kinghenv,serverhenv; //环境句柄 SQLHDBC kinghdbc,serverhdbc; //连接句柄 SQLHSTMT kinghstmt,serverhstmt;//语句句柄 SQLRETURN ret; /*车辆基本信息*/ SQLCHAR Car_NO[CAR_NO-LEN],CAR_name[CAR_NAME-LEN],INDUSTTY_name[INDUSTTY_NAME-LEN]price[PRICE-LEN]; SQLFLOAT price[PRICE-LEN] SQLBOOLEAN Status[STATUS-LEN] SQLINTEGER cbCar_NO=SQL-NTS,cbCAR_name=SQL-NTS,cbINDUSTTY_name=SQL-NTS cbprice=SQL-NTS,cbStatus=SQL-NTS; /* 客户基本信息*/ SQLCHAR c_NO[C_NO-LEN],User_name[User_NAME-LEN],User_sex[User_SEX-LEN] UNIT[unit_LEN]; SQLINT User_age[User_AGE-LEN] user_tel[User_tel_LEN] SQLINTEGER User_age=0,cbUser_name=SQL-NTS,cbUser_sex=SQL-NTS cbUNIT=SQL-NTS,cbuser_tel=SQL-NTS; /*Step 2 初始化环境 */ ret=SQLAllocHandle(SQL-HANDLE-ENV,SQL-NULL-HANDLE,&kinghenv); ret=SQLAllocHandle(SQL-HANDLE-ENV,SQL-NULL-HANDLE,&serverhenv); ret=SQLSetEnvAttr(Kinghenv,SQL-ATTR-ODBC-VERSION,(void*)SQL-OV-ODBC3,0); ret=SQLSetEnvAttr(serverhenv,SQL-ATTR-ODBC-VERSION,(void*)SQL-OV-ODBC3,0); /*Step 3:建立连接 */ ret=SQLAllocHandle(SQL-HANDLE-DBC,kinghenv,&kinghdbc); ret=SQLAlloocHandle(SQL-HANDLE-DBC,serverhenv,&serverhdbc); ret=SQLConnect(kinghdbc,"KingbaseES ODBC",SQL-NTS,"SYSTEM",SQL-NTS,"MANAGER",SQL-NTS); if(! SQL-SUCCEEDED(ret)) return -1; //连接失败时返回错误值 ret=SQLConnect(serverhdbc,"SQLServer",SQL-NTS,"sa",SQL-NTS,"sa",SQL-NTS); if(! SQL-SUCCEEDED(ret) return -1; //连接失败时返回错误值 /* Step 4: 初始化语句句柄 */ ret=SQLAllocHandle(SQL-HANDLE-STMT,kinghdbc,&kingstmt); ret=SQLSetStmtAttr(kingstmt,SQL-ATTR-ROW-BIND-BYTE, (SQLPOINTER)SQL-BIND-BY-COLUMN,SQL-IS-INTEGER); ret=SQLAllocHandle(SQL-HANDLE-STMT,serverhdbc,&serverhstmt); /* Step 5:两种方式的语句 */ /*预编译车辆基本表带有参数的语句 */ ret=SQLPREPARE(serverhstmt,"INSERT INTO STUDENT (CAR_NO,CAR_NAME ,INDUSTTY_NAME,PRICE,STATUS ) VALUES (?,?,?,?)",SQL_NTS); if (ret==SQL_SUCCESS ‖ ret==SQL_SUCCESS_WITH_INFO) { ret===SQLBindParameter(serverhstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,CAR_NO_LEN,0,Car_NO,0,&cbCar_NO); ret===SQLBindParameter(serverhstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,CAR_NAME_LEN,0,CAR_name,0,&cbCAR_name); ret===SQLBindParameter(serverhstmt,3,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,2,0,INDUSTTY_name,0,&cbINDUSTTY_name); ret===SQLBindParameter(serverhstmt,4,SQL_PARAM_INPUT,SQL_C_FLOAT, SQL-FlOAT,0,0,price,0,&cbprice); ret===SQLBindParameter(serverhstmt,5,SQL_PARAM_INPUT,SQL_C_BOOLEAN, SQL-BOOLEAN,0,Status,0,&cbStatus); } /*查询车辆信息的执行SQL语句*/ ret=SQLExecDirect(kinghstmt,"SELECT * FROM 车辆",SQL_NTS); if (ret==SQL_SUCCESS ‖ ret==SQL_SUCCESS_WITH_INFO) { ret=SQLBindCol(kingghstmt,1,SQL_C_CHAR,Car_NO,CAR_NO_LEN,&cbCar_NO); ret=SQLBindCol(kingghstmt,2,SQL_C_CHAR,CAR_name,CAR_NAME_LEN,cbCAR_name); ret=SQLBindCol(kingghstmt,3,SQL_C_CHAR,INDUSTTY_name,&cbINDUSTTY_name); ret=SQLBindCol(kingghstmt,4,SQL_C_FLOAT,price,0,&cbprice); ret=SQLBindCol(kingghstmt,5,SQL_C_CHAR,Status,STATUS_LEN,&cbStatus); } /* Step 6:两种方式的语句 */ /*预编译客户基本表带有参数的语句 */ ret=SQLPREPARE(serverhstmt,"INSERT INTO STUDENT (C_NO,User_NAME,User_SEX,User_AGE,User_tel,unit) VALUES (?,?,?,?)",SQL_NTS); if (ret==SQL_SUCCESS ‖ ret==SQL_SUCCESS_WITH_INFO) { ret===SQLBindParameter(serverhstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,C_NO_LEN,0,c_NO,0,&cbc_NO); ret===SQLBindParameter(serverhstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,User_NAME_LEN,0,User_name,0,&cbUser_name); ret===SQLBindParameter(serverhstmt,3,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,2,0,User_sex,0,&cbUser_sex); ret===SQLBindParameter(serverhstmt,4,SQL_PARAM_INPUT,SQL_C_INT, SQL-INT,0,0,User_age,0,&cbUser_age); ret===SQLBindParameter(serverhstmt,5,SQL_PARAM_INPUT,SQL_C_INT, SQL-INT,User_tel_LEN,0,user_tel,0,&cbuser_tel); ret===SQLBindParameter(serverhstmt,6,SQL_PARAM_INPUT,SQL_C_CHAR, SQL-CHAR,unit_LEN,0,UNIT,0,&cbUNIT); } /*查询客户信息执行SQL语句*/ ret=SQLExecDirect(kinghstmt,"SELECT * FROM 客户",SQL_NTS); if (ret==SQL_SUCCESS ‖ ret==SQL_SUCCESS_WITH_INFO) { ret=SQLBindCol(kingghstmt,1,SQL_C_CHAR,sc_NO,C_NO_LEN,&cbc_NO); ret=SQLBindCol(kingghstmt,2,SQL_C_CHAR,User_name,User_NAME_LEN,cbUser_name); ret=SQLBindCol(kingghstmt,3,SQL_C_CHAR,sUser_sex,&cbUser_sex); ret=SQLBindCol(kingghstmt,4,SQL_C_INT,sUser_age,User_AGE_LEN,&cbUser_age); ret=SQLBindCol(kingghstmt,5,SQL_C_INT,suser_tel,User_tel,&cbuser_tel); ret=SQLBindCol(kingghstmt,6,SQL_C_CHAR,sUNIT,User_tel,&cbUNIT); } /*Step 7:处理结果集并执行预编译后的语句 */ while ( (ret=Fetch(kinghstmt) ) !=SQL_NO_DATA_FOUND) { if(ret==SQL_ERROR) prinf("Fetch error\n"); else ret=SQL_Execute(serverhstmt); } /*Step 8中止处理*/ SQLFreeHandle(SQL_HANDLE_STMT,kinghstmt); SQLDisconnect(kinghdbc); SQLFreeHandle(SQL_HANDLE_DBC,kinghdbc); SQLFreeHandle(SQL_HANDLE_ENV,kinghenv); SQLFreeHandle(SQL_HANDLE_STMT,serverhstmt); SQLDisconnect(serverhdbc); SQLFreeHandle(SQL_HANDLE_DBC,serverhdbc); SQLFreeHandle(SQL_HANDLE_ENV,serverhenv); return 0;- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 汽车 销售 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文