电影mysql设计_mysql – 如何设计电影数据库?

你必须区分属性和实体。一个实体是一个东西 – 通常是一个名词。属性更像是一条描述信息。在数据库术语中,entity = table,attribute = field / column。

有一个单独的表,某些事情,让我们使用导演,作为一个例子,称为规范化。虽然在某些情况下可能会很好,但在其他情况下可能是不必要的(通常会使查询更复杂 – 您必须加入所有内容,而且速度较慢)。

在这种情况下,不需要年表,因为一年以外没有其他属性,除了年份本身,你会存储。最好把这个规范化,把年份存放在电影表里。

另一方面,导演是不同的。也许你想要存储导演的名字,姓氏,出生日期,死亡日期(如果适用)等等。你显然不想在每次进入电影时输入导演的出生日期指导,所以有一个单独的实体为董事是有道理的。

即使你不想存储关于导演的所有这些信息(你只是想要他们的名字),有一个单独的表(并使用代理键 – 我会得到一秒)是有用的,因为它防止排版错误和重复 – 如果您的某人的名字拼写错误或输入不同(第一,最后一个vs最后一个),那么如果您尝试查找他们指示的其他电影,您将失败。

使用表格的代理键(主键)通常是一个好主意。匹配整数比匹配字符串要快得多。它还允许您自由更改名称,而不必担心存储在其他表中的外键(ID保持不变,因此您不必执行任何操作)。

你真的可以把这个设计看得很远,而且这一切都是为了弄清楚你想要存储的内容。

例如,不是每部电影都有一个导演,有些电影有多个导演,所以电影和导演之间会有多对多的关系,所以你需要一张表格,例如:

films_dir

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的问题是关于测试 MySQL 数据库服务器的吗?如果是的话,我可以给你一些建议来测试 MySQL 数据库服务器。 首先,你可以使用 PHP 代码来连接 MySQL 数据库服务器并执行一些查询,以确保服务器正常工作并可以响应请求。以下是一个简单的 PHP 代码示例: ``` $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 执行查询 $sql = "SELECT * FROM yourtable"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 结果"; } // 关闭连接 $conn->close(); ``` 其次,你可以使用 MySQL 自带的命令行工具来测试数据库服务器。打开终端并输入以下命令: ``` mysql -u yourusername -p ``` 然后输入密码并按 Enter 键。如果成功登录,你应该会看到 MySQL 提示符。接着,你可以执行一些查询来测试服务器的响应速度和性能。例如,你可以键入以下命令: ``` SELECT * FROM yourtable; ``` 如果你可以看到正确的结果,那么说明 MySQL 数据库服务器正常工作。 最后,你还可以使用一些第三方工具来测试 MySQL 数据库服务器。例如,你可以尝试使用 MySQL Workbench 来连接服务器并执行一些查询。这个工具可以帮助你更直观地了解数据库服务器的性能和响应速度。 希望这些建议对你有所帮助!如果你还有其他问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值