• 大小: 479KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: C/C++
  • 标签: 王珊  萨师煊  

资源简介

1、设计特定的数据结构,用于存储数据表、视图、索引等数据库对象的信息,即建立数据库系统的数据字典;(数据库) 2、设计特定的数据结构,用于存储数据表中的数据;(数据表建立存储) 3、执行CREATE语句,创建数据表、视图、索引等数据库对象;创建数据表时需包含主码、外码、唯一性约束、非空约束等完整性约束的定义; 4、执行SELECT语句,从自主设计的数据表中查询数据,并输出结果;在SELECT语句中需要支持GROUP BY、HAVING和ORDER BY子句,需要支持5种聚集函数; 5、用户登录时,需要输入用户名;如果用户没有被授权,则拒绝执行用户查询或更新操作,并给出提示信息;

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include
#include 
#include
#include 
#include 
#include
#include
#include
#include
#include


using namespace std;


//数据结构的定义放在这里!

struct Table
{
    string t_name;//表名
    int col_num;//列数
    map shuxing;//属性以及相应的类型
    string primary_key;//主码
    vector > data;//具体的元组
    int yuanzu_num;//元组个数
    vectorunique1;//唯一约束的属性
    vectornull;//非空约束的属性
    vectorcol_primary;//主码是哪个属性
    vectoryueshu;//外码约束
};

struct View
{
    string view_name;
    string as;//查询语句
};

//数据库的数据结构
struct Database
{
    vector tablebase;
    vector viewbase;
};
//权限的数据结构
struct Authorization
{
    string user_name;
    vector table_name;
    int select_;
    int insert_;
    int delete_;
    int update_;
    int count_qx;
    int table_num;
};
//索引的数据结构
struct Indexx
{
    string index_name;
    string table_name;
    string shuxing_name;


};
struct users
{
    string username;
    string password;
};

vector
TABLE;
vectorVIEW;
Database DATAbase;
vectorAuth;
vectorINDEX;
vectorUSER;

//文件的读写在这里!

//表
void read_table()
{
    fstream ioFile;//文件流
    int numnum1num2;
    string tmp1tmp2;
    ioFile.open(“table.txt“ios::out);
    if(ioFile>>num)
    {
        //TABLE.clear();
        for(int i = 0; i         {
            Table t2;
            t2.shuxing.clear();
            ioFile >>tmp1;
            t2.t_name=tmp1;
            ioFile>>num1;
            t2.col_num=num1;

            for(int j=0; j            {
                ioFile>>tmp1;
                ioFile>>tmp2;
                t2.shuxing.insert(make_pair(tmp1tmp2));
            }
            ioFile>>num1;//主码的属性
            for(int j=0; j            {
                ioFile>>tmp1;
                t2.col_primary.push_back(tmp1);
            }
            ioFile>>num1;//唯一的属性
            for(int j=0; j            {
                ioFile>>tmp1;
                t2.unique1.push_back(tmp1);
            }
            ioFile>>num1;//非空的属性
            for(int j=0; j            {
                ioFile>>tmp1;
                t2.null.push_back(tmp1);
            }
            ioFile>>num1;//外码约束
            for(int j=0; j            {
                getline(ioFile tmp1);

                t2.col_primary.push_back(tmp1);
            }
            ioFile>>tmp2;
            ioFile>>tmp1;
            t2.primary_key=tmp1;
            t2.yuanzu_num=0;
            TABLE.push_back(t2);
            DATAbase.tablebase=TABLE;
        }
    }
    ioFile.close();
}
void write_table()
{
    fstream ioFile;
    map::iterator it;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-11-30 21:38  .vscode\
     文件         528  2020-11-24 17:48  .vscode\c_cpp_properties.json
     文件        1105  2020-11-24 23:16  .vscode\launch.json
     文件         118  2020-11-30 22:39  .vscode\settings.json
     文件         796  2020-11-24 17:48  .vscode\tasks.json
     文件     4253910  2019-07-03 17:59  auth.txt
     文件        1698  2017-12-28 13:46  database.cbp
     文件        3877  2017-12-29 16:37  database.depend
     文件         927  2017-12-29 18:28  database.layout
     文件          85  2019-07-03 17:56  index.txt
     文件       59061  2020-11-30 21:55  main.cpp
     文件     1335851  2020-11-30 21:57  main.exe
     文件      443760  2019-07-03 17:58  main.o
     文件           0  2020-11-30 22:38  table.txt
     文件         256  2019-07-03 17:56  table_data.txt
     文件          53  2020-11-24 23:01  user.txt
     文件           2  2017-07-06 17:42  view.ads
     文件          63  2019-07-03 17:56  view.txt
     文件      155241  2020-11-30 22:40  山东科技大学C++数据库课程设计.docx
     文件        2365  2020-11-30 22:33  测试数据.txt

评论

共有 条评论