数据库制作步骤


做过一个 ANSI-SQL兼容 事物化 分布式 内存数据库,还只是用于某内部项目而不需要实现得特别完整的情况下,写了我好一段时间昼夜不分。

简单来说还是几个步骤:
1. 学习:了解数据库中各个概念,弄不清概念接下来就是一头雾水。
2. 实践:从使用数据库开始,至少使用过几款数据库后,最好是在实际项目中使用,才能对各个概念有实际的印象。
3. 借鉴:读现有数据库的源代码,强烈推荐 SQLite 的代码。
4. 准备:根据已有知识,来决定自己要一个用于什么目的的数据库,需要什么特性,比起其他数据库有什么优劣,如何实现。使用什么语言,自己是不是熟悉这门语言的特性,这些都很重要。
5. 原型:数据库这种大体量的东西,千万不可能一口气吃成大胖子,一次性写出成品数据库是很难的。可以先开发一个原型,拥有数据库的主要特性。
6. 重构:现在你已经跳入过很多坑,在重构中你已经可以规避其中大多数。不要无限地重构,这样会没完没了。
7. 迭代:设计升级迭代的路径很重要,如果你想做一个越来越成熟的产品的话。

原型阶段,个人经验一两个月就行了。但重构阶段和迭代阶段会非常漫长,挖坑容易填坑难。

我设计的虽然是内存数据库,但是分布式特性,所以网络 I/O 以及分布式相关的内容成为了很多坑,我是一遍读别人代码一遍读论文度过的。写到后面突然需求要加持久化和备份的功能,又落入了磁盘 I/O 坑,苦不堪言。一上来准备充足还是有必要的,当然写了这玩意对我也有很大的帮助。

看到题主是 ACMer,有必要说点别的:

一定要写文档,否则别人没法用,时间长了你自己也不知道自己在干嘛,虽然写文档很烦。
一定要写测试,自动化测试是任何可靠的大型项目所必须的。完善的测试也能说服别人使用你的数据库。

搞 ACM 对数据库算法优化应该会起到很大的帮助。但 ACMer 也要养成良好的工程习惯,否则面对十万行的代码,一堆 a b c d 的变量绝对是无法维护的。注释、文档和测试都是相当反人类的,但是面对软件工程,是非常必须的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLi 是 PHP 对 MySQL 数据库的扩展,可以使用它来访问和操作 MySQL 数据库。 下面是 MySQLi 数据库制作步骤: 1. 确保你已经安装了 MySQL 数据库,并且知道 MySQL 的用户名和密码。 2. 在 PHP 中使用以下代码连接到 MySQL 数据库: ```php $servername = "localhost"; // MySQL 服务器名 $username = "username"; // MySQL 用户名 $password = "password"; // MySQL 密码 // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ``` 3. 如果连接成功,可以创建一个新的数据库。使用以下代码: ```php // 创建数据库 $sql = "CREATE DATABASE mydb"; if ($conn->query($sql) === TRUE) { echo "数据库创建成功"; } else { echo "Error creating database: " . $conn->error; } ``` 4. 创建完数据库后,就可以创建表了。使用以下代码: ```php // 创建表 $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . $conn->error; } ``` 5. 最后,可以向表中插入数据。使用以下代码: ```php // 插入数据 $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } ``` 这些就是 MySQLi 数据库制作步骤。你可以根据自己的需求和具体情况进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值