1 / 25
文档名称:

数据库课程设计说明书 创建和修改表的定义.doc

格式:doc   页数:25
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库课程设计说明书 创建和修改表的定义.doc

上传人:dsmhb 2012/8/28 文件大小:0 KB

下载得到文件列表

数据库课程设计说明书 创建和修改表的定义.doc

文档介绍

文档介绍:课程设计说明书
设计题目: 创建和修改表的定义_
专业: 计算机科学与技术班级: _
设计人: ×× _
山东科技大学
2012年 06月 20 日
课程设计任务书
学院信息科学与工程学院专业计算机科学与技术班级姓名××
课程设计题目:
创建和修改表的定义
课程设计主要参考资料:
《数据库系统概论》
《C语言程序设计》
《数据结构》
课程设计应解决的主要问题:

主要功能:
实现:CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>] )
实现:ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>]
要求:
(1)设计实现表的物理存储结构;
(2)语句以命令行和图形化界面两种形式实现;
(3)提交课程设计报告。
课程设计相关附件(如:图纸、软件等):



任务发出日期: 课程设计完成日期:
指导教师签字: 系主任签字:
指导教师对课程设计的评语
指导教师签字:
2012年月日
一、设计要求:
(1)设计实现表的物理存储结构;
(2)语句以命令行和图形化界面两种形式实现;
(3)提交课程设计报告。
二、需求分析:

设计实现表的物理存储结构;
语句以命令行和图形化界面两种形式实现;
三、设计思想:
由命令行输入SQL语句, 通过对语句进行语法分析,分离关键字,语句以分号作为结束符号;
以*.txt 文件存放建立的表,一张表对应一个*.txt 文件;
用户可直接输入CREATE TABLE 语句和ALTER语句, 程序自动解析和查错, output语句输出表的相关信息。
四、主要源程序:
//源程序在codeblocks
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<>
#include<>
#include<sstream>
#include<>
using namespace std;
#define MAX 1000
#define N 100
//表中每个域的结构:
struct Field
{
char name[N];
char type[N];
int len;
char condition[N];
Field()
{
len = 0;
name[0] = type[0] = condition[0] = 0;
}
};
//读入的语句字符串
char sql[MAX],sqltmp[MAX];
//将输入的大写字母转化为小写字母
void tolower(char *s)
{
int len = strlen(s);
for(int i = 0; i < len; ++i)
{
if(s[i] >= 'A' && s[i] <= 'Z') s[i] += 32;
}
}
//读入SQL语句,并进行格式化分离单词, 以分号结束, ESC退出整个程序
int read()
{
char c;
int i;
for(i = 0; c = getch(); i++)
{
if(c == ';') break;
if(c == 27) exit(0);
if(c == 8)
{
i -= 2;
if(i < -1)
i = -1;
system("cls");
printf("<ESC For Exit, 'output table_name' for output the table>:\nPlease input the SQL sentence:\n\n");
for(int j = 0; j <= i; j++)
{
if(sqltmp[j] == 13)
{
puts("");
}
printf("%c", sqltmp[j]);
}
continue;
}
sqltmp[i] = c;
if(c == 13)
{
puts("");
sql[i] = ' ';
}
else if(c == '(' || c ==