资源简介
课程设计时写的数据库,实现了大部分操作,建删改查,并发控制等,还有当时写的时候的设计文档
代码片段和文件信息
#include “stdio.h“
#include “stdlib.h“
#include “string.h“
#include “conio.h“
#include “windows.h“
#include “iostream.h“
#include “power.h“
#define MAX_PROLEN 10 //最大属性字符长度
#define MAX_PRONUM 8 //最大属性个数
#define MAX_RECNUM 30 //最大记录个数
#define MAX_TNAME 15 //最长表名
#define MAX_TNUM 15 //最大表个数
#define MAX_VIEWNUM 15 //最大表个数
#define MAX_USERLEN 10 //用户名长度
#define MAX_PWDLEN 18 //密码最大长度
#define MAX_USERNUM 10 //用户名最大个数
//***************************
typedef struct
{
int re_num; //记录的个数
int pro_num; //属性个数
int key_no; //规定关键字是第几个属性使用的是下标从0开始
//int pro_len[MAX_PRONUM]; //属性长度
char key[MAX_PROLEN]; //定义关键字关键字也是一个属性
char tname[MAX_TNAME]; //表名
char proname[MAX_PRONUM][MAX_PROLEN]; //属性的名字
char protype[MAX_PRONUM]; //属性的类型
char record[MAX_RECNUM][MAX_PRONUM][MAX_PROLEN]; //三维表保存的内容是记录的值
}table;
typedef struct
{
char proname[MAX_PRONUM][MAX_PROLEN]; //可见的属性
int prono[MAX_PRONUM]; //可见属性的下标
char tname[MAX_TNAME]; //对应的表名
char vname[MAX_TNAME]; //视图名
int pro_num;
}view; //视图,该试图对应一个表,一个表可以对应多个视图
typedef struct
{
char iname[MAX_TNAME]; //一个索引对应一个表
int key_num;
char key[MAX_RECNUM][MAX_PROLEN]; //
}index;
typedef struct
{
char username[MAX_USERLEN];
char pwd[MAX_PWDLEN];
int revoke; //0是glz,1是nb
}user;
table NULLTABLE; //空表,初始化的时候定义NULLTABLE.key_no=-1
table t[MAX_TNUM];
view vi[MAX_VIEWNUM];
index ind[MAX_TNUM];
user u[MAX_USERNUM];
FILE *alfp;
int t_num=0;
int i_num=0;
int v_num=0;
int u_num=0;
int CURRENTREVOKE;
int speedfactor=10;
bool dbislock()
{
int databaselock;
FILE *fp;
if((fp=fopen(“dblock.db““rb“))==NULL)
{
printf(“不存在锁文件请检查后再使用.\a“);
fclose(fp);
exit(-1);
}
fread(&databaselocksizeof(int)1fp);
fclose(fp);
if(databaselock==1)
return true;
else
return false;
}
void dblock()
{
int databaselock=1;
FILE *fp;
if((fp=fopen(“dblock.db““wb“))==NULL)
{
printf(“不存在锁文件请检查后再使用.\a“);
fclose(fp);
exit(-1);
}
fwrite(&databaselocksizeof(int)1fp);
fclose(fp);
}
void dbunlock()
{
int databaselock=0;
FILE *fp;
if((fp=fopen(“dblock.db““wb“))==NULL)
{
printf(“不存在锁文件请检查后再使用.\a“);
fclose(fp);
exit(-1);
}
fwrite(&databaselocksizeof(int)1fp);
fclose(fp);
}
void BackUp()
{
if(CURRENTREVOKE==0)
{
gotoxy(124);printf(“\a对不起您的权限不允许这项操作.按任意键返回...“);
getch();
return;
}
if(!dbislock()) //没有锁,那就加锁@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
dblock(); //dblock(); dbunlock();
else
{
clrscr();
printf(“数据库处于锁状态,即使超级用户也不能进行修改!\a“);
printf(“\n按任意键返回...“);
getch();
return;
}
char filename[20];
clrscr();
PrintColorStringXY(367014015“数据的备份“);
Drawframe(2060514);
gotoxy(279); printf(“输入备份数据的文件名:“);
gotoxy(2710);
gets(filename);
FILE *fp;
if((fp=fopen(filename“wb“))==NULL)
fp=fopen(filename“wb+“);
//以下共6个文件提供全体打包保存dblock.dbtable.dbindex.dbview.dbdic.dblog.txt
//*****************对dblock.db的备份****
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 46072 2008-07-20 11:11 20050675_段金晟_数据库原理实验\可执行文件\backup.db
文件 0 2008-07-22 10:54 20050675_段金晟_数据库原理实验\可执行文件\config.db
文件 4 2008-07-23 10:34 20050675_段金晟_数据库原理实验\可执行文件\dblock.db
文件 290921 2008-07-23 10:59 20050675_段金晟_数据库原理实验\可执行文件\DBMS.exe
文件 659 2008-07-23 10:34 20050675_段金晟_数据库原理实验\可执行文件\dic.db
文件 4804 2008-07-23 10:34 20050675_段金晟_数据库原理实验\可执行文件\index.db
文件 2802 2010-01-06 20:19 20050675_段金晟_数据库原理实验\可执行文件\log.txt
文件 316 2008-07-23 10:58 20050675_段金晟_数据库原理实验\可执行文件\READ_ME_BEFORE_RUN.txt
文件 37924 2008-07-23 10:34 20050675_段金晟_数据库原理实验\可执行文件\table.db
文件 2224 2008-07-23 10:34 20050675_段金晟_数据库原理实验\可执行文件\view.db
文件 195072 2008-07-23 10:07 20050675_段金晟_数据库原理实验\实验报告4--7\20050675_段金晟_E4_数据库原理实验.doc
文件 48640 2008-07-23 10:20 20050675_段金晟_数据库原理实验\实验报告4--7\20050675_段金晟_E5_数据库原理实验.doc
文件 27648 2008-07-23 10:49 20050675_段金晟_数据库原理实验\实验报告4--7\20050675_段金晟_E6_数据库原理实验.doc
文件 524288 2008-07-23 10:45 20050675_段金晟_数据库原理实验\实验报告4--7\20050675_段金晟_E7_数据库原理实验.doc
文件 528896 2008-07-24 11:52 20050675_段金晟_数据库原理实验\整体文档实验8\数据库课程设计报告.doc
文件 46072 2008-07-20 11:11 20050675_段金晟_数据库原理实验\源程序\backup.db
文件 0 2008-07-22 10:54 20050675_段金晟_数据库原理实验\源程序\config.db
文件 74689 2008-07-23 10:11 20050675_段金晟_数据库原理实验\源程序\db2.cpp
文件 4 2008-07-23 10:34 20050675_段金晟_数据库原理实验\源程序\dblock.db
文件 659 2008-07-23 10:34 20050675_段金晟_数据库原理实验\源程序\dic.db
文件 4804 2008-07-23 10:34 20050675_段金晟_数据库原理实验\源程序\index.db
文件 2152 2008-07-23 10:34 20050675_段金晟_数据库原理实验\源程序\log.txt
文件 8679 2008-07-22 10:33 20050675_段金晟_数据库原理实验\源程序\power.h
文件 352 2008-07-23 10:56 20050675_段金晟_数据库原理实验\源程序\READ_ME_BEFORE_RUN.txt
文件 37924 2008-07-23 10:34 20050675_段金晟_数据库原理实验\源程序\table.db
文件 2224 2008-07-23 10:34 20050675_段金晟_数据库原理实验\源程序\view.db
目录 0 2008-09-03 10:41 20050675_段金晟_数据库原理实验\可执行文件
目录 0 2008-09-03 10:41 20050675_段金晟_数据库原理实验\实验报告4--7
目录 0 2010-01-06 20:20 20050675_段金晟_数据库原理实验\整体文档实验8
目录 0 2008-09-03 10:41 20050675_段金晟_数据库原理实验\源程序
............此处省略5个文件信息
相关资源
- 参考文献管理系统(PowerBuuilderMySQLM
- C语言课程设计学生信息管理系统带文
- 源码:MFC按钮重绘-图书管理系统ADO
- C++Builder数据库开发经典案例解析+(完
- 计算机网络课程设计 IP数据报的捕获
- MFC信息管理系统
- 基于c++的贪吃蛇游戏设计
- 哈工大软件学院07级数据结构课程设计
- 员工工资管理系统C++与SQL课程设计
- 学生管理系统 sql数据库 VisualC++ 软件
- MFC使用ado连接access数据库例程
- 数据库课程设计 汽车租借信息系统
- C++学生信息管理系统源码+数据库+文档
- 数据结构课程设计图书管理系统c语言
- C++课程设计题目源代码
- 数据结构课程设计,最小生成树,采
- 课程设计-电话号码查找系统C语言版含
- 基于C语言和SQL SERVER数据库实现的图书
- 课程设计 停车场管理系统 MFC
- 2048游戏 - 数据结构(C语言)课程设计
- 孔令德的计算机图形学实验及课程设
- Qt实现的迷宫与魔塔游戏 源码迷宫模
- C++课程设计,高校人员信息管理系统
- 哈夫曼编码压缩文件,c/c++课程设计
- 学生管理系统 mfc 数据库 c++
- c++课程设计学生成绩管理系统含源代
- mfc配合listbox操作数据库
- 课程设计---c++代码相似度计算
- C++基于MFC与ACCESS数据库的成绩管理系
- 防火墙与入侵检测系统课程设计
评论
共有 条评论