数据库的学习心得
我觉得数据库表的建立的优缺点如下:
优点:
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
缺点:
第一,创建索引和维护索引要耗费时间,这种时间随着数据 量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
key-value储存,可以通过key快速查询到value。一般来说,储存不管value的格式,照单全收。
第一个表为管理员表,其中包括了名字,昵称,密码以及profile,profile是指用户数据以及用户配置。和管理员密码,其中只有用户配置允许为空。比如说用户名。”username” varchar(128) COLLATE utf8_unicode_ci NOT NULL 而昵称和密码也都参照这个。这个括号里的128则是因为昵称用户名和密码都是设置成char类型的。
而转存表中数据则是:INSERT INTO “adminuser”(“id”,”username”,”nickname”,”password”,”email”,”profile”,”auth_key”,”password_hash”,”password_reset_token”)VALUES
第二张表则为权限分配表,其中包括类型名称,用户ID和创建时间,且都不能为空,其中类型名称和用户id为char类型,创建时间为int类型。
第三张表为管理员联系表。在代码的实现中就添加了一些管理员的功能与职权,例如新增文章与删除文章,但是这里面又分了文章管理员与文章操作员。具体如下:
(‘admin’,1,’系统管理员’,NULL,NULL,147,146),
(‘approveComment’,2,’审核评论’,NULL,NULL,146,146),
(‘commentAuditor’,1,’评论审核员’,NULL,NULL,146,146),
(‘createPost’,2,’新增文章’,NULL,NULL,146,146),
(‘deletePost’,2,’删除文章’,NULL,NULL,146,146),
(‘postAdmin’,1,’文章管理员’,NULL,NULL,146,146),
(‘postOperator’,2,’文章操作员’,NULL,NULL,146,146),
(‘updatePost’,2,’修改文章’,NULL,NULL,146,146);
这里就涉及到职权问题以及设立的文章管理员审核你的文章及评论,然后新增和删除也需要权限的,这样就能保证文章的安全以及评论的干净。
这里的几张表的搭建都是先建立表的结构,再转存表的数据,表的搭建CREATE TABLE IF NOT EXISTS ‘***’,搭建的方式都一样,你需要的功能对应所需要的函数,其次就是转存数据,INSERT INTO到你所想要的表中去。