WEBVTT 00:00:01.050 --> 00:00:02.890 在这一期视频里,我们将学习关系模型。 00:00:03.850 --> 00:00:05.340 关系模型已有超过 00:00:05.570 --> 00:00:07.490 35年历史, 00:00:07.690 --> 00:00:09.370 是数据库管理系统的基础。 00:00:09.920 --> 00:00:12.010 数以十亿计的产业由此产生。 00:00:13.610 --> 00:00:15.420 目前所有 00:00:15.700 --> 00:00:17.800 商业数据库系统采用关系模型。 00:00:18.550 --> 00:00:21.360 事实上它非常简单,这也是它优点之一。 00:00:22.410 --> 00:00:23.740 此外,它是可检索的。 00:00:24.500 --> 00:00:25.320 这里指我们可以 00:00:25.560 --> 00:00:26.920 用高级语言 00:00:26.980 --> 00:00:28.860 查询数据库。 00:00:29.990 --> 00:00:31.470 高级语言是简单的, 00:00:31.840 --> 00:00:34.280 用于查询数据库时可读性极高。 00:00:35.380 --> 00:00:36.900 最后一点,非常重要的, 00:00:37.450 --> 00:00:39.800 是可以高效的实现 00:00:39.970 --> 00:00:41.700 关系模型 00:00:41.890 --> 00:00:43.290 及其查询语言。 00:00:43.760 --> 00:00:45.000 让我们继续 00:00:45.130 --> 00:00:47.440 了解关系模型的基础构建。 00:00:48.660 --> 00:00:51.440 首要的构建是关系。 00:00:51.980 --> 00:00:53.390 一个数据库是由 00:00:53.430 --> 00:00:54.930 一系列关联或者 00:00:55.390 --> 00:00:57.530 署名的"表"组成。 00:00:58.400 --> 00:01:00.620 在我们的例子中有两组关系。 00:01:01.990 --> 00:01:03.130 我们的例子是一个 00:01:03.580 --> 00:01:05.100 学院申请人的模拟数据库。 00:01:05.480 --> 00:01:07.470 现在我们分开看学生和学院。 00:01:08.500 --> 00:01:09.460 我们有两个表, 00:01:09.970 --> 00:01:11.180 命名为 00:01:11.850 --> 00:01:14.230 学生和学院。 00:01:15.340 --> 00:01:16.420 顺便提一点, 00:01:16.620 --> 00:01:17.830 数据库行业里有一个 00:01:18.230 --> 00:01:19.820 关于表名应该是单数还是负数的 00:01:20.310 --> 00:01:22.620 有益的争论。 00:01:23.310 --> 00:01:24.980 我个人觉得无所谓。 00:01:25.200 --> 00:01:26.050 我就用单数吧。 00:01:27.980 --> 00:01:29.750 接下来,我们要讲属性。 00:01:30.340 --> 00:01:31.790 每一个关系和 00:01:32.270 --> 00:01:33.870 关系数据库都有一个事先 00:01:34.390 --> 00:01:37.110 命名的列或者属性。 00:01:37.760 --> 00:01:39.110 在学生表单里, 00:01:39.790 --> 00:01:40.720 比如说每一个学生 00:01:41.120 --> 00:01:42.010 都有一个ID, 00:01:42.840 --> 00:01:46.310 名字,GPA 和照片。 00:01:46.990 --> 00:01:48.120 在学院表单里, 00:01:48.710 --> 00:01:49.830 比如说 00:01:50.030 --> 00:01:50.880 每一个学院都有 00:01:51.000 --> 00:01:54.090 一个名字,州,招生人数。 00:01:55.170 --> 00:01:56.440 我们简写成 ENR。 00:01:57.660 --> 00:01:58.530 这些都是标好的列。 00:01:59.810 --> 00:02:01.010 现在的数据 00:02:01.500 --> 00:02:02.320 被存储在 00:02:02.430 --> 00:02:04.740 表单的元组(或者行)里。 00:02:05.690 --> 00:02:06.820 让我们在表里 00:02:06.990 --> 00:02:09.180 录入一些数据组。 00:02:09.300 --> 00:02:11.530 让我们从 00:02:12.140 --> 00:02:13.630 学生开始,比如说 00:02:14.120 --> 00:02:15.430 第一个学生的ID是123。 00:02:15.600 --> 00:02:18.050 名字是Amy, 00:02:18.480 --> 00:02:21.790 GPA 3.9, 她对此很满意。 00:02:21.900 --> 00:02:22.600 所以有一张微笑的相片。 00:02:23.720 --> 00:02:25.290 我们的第二个学生是234, 00:02:26.130 --> 00:02:28.320 Bob, 他的GPA 00:02:29.680 --> 00:02:29.880 是 3.4 . 00:02:30.080 --> 00:02:30.850 对此他并不开心。 00:02:32.050 --> 00:02:32.970 通常, 00:02:33.130 --> 00:02:35.090 一张表有上千, 00:02:35.360 --> 00:02:37.070 或者上百万,甚至上亿的 00:02:37.210 --> 00:02:40.390 行,每一行的每一个属性都有对应的值。 00:02:41.310 --> 00:02:42.620 在学院表单中,我们假设 00:02:43.110 --> 00:02:44.030 当然 00:02:44.180 --> 00:02:46.630 我们从Stanford开始 00:02:46.770 --> 00:02:49.720 California,招生人数是15000. 00:02:52.310 --> 00:02:53.870 00:02:54.770 --> 00:02:55.520 00:02:56.250 --> 00:02:58.110 00:02:58.660 --> 00:03:00.570 00:03:01.270 --> 00:03:03.810 00:03:04.170 --> 00:03:05.500 00:03:05.560 --> 00:03:07.560 00:03:08.330 --> 00:03:09.530 00:03:09.670 --> 00:03:11.040 00:03:11.100 --> 00:03:12.270 00:03:12.400 --> 00:03:13.800 00:03:15.050 --> 00:03:16.640 00:03:16.870 --> 00:03:18.220 00:03:18.710 --> 00:03:19.900 00:03:19.930 --> 00:03:21.210 00:03:21.910 --> 00:03:23.040 00:03:23.940 --> 00:03:25.040 00:03:25.190 --> 00:03:26.350 00:03:26.600 --> 00:03:27.920 00:03:28.180 --> 00:03:29.600 00:03:29.930 --> 00:03:31.670 00:03:32.930 --> 00:03:34.160 00:03:34.580 --> 00:03:36.530 00:03:37.010 --> 00:03:38.430 00:03:38.720 --> 00:03:40.660 00:03:40.990 --> 00:03:42.550 00:03:43.510 --> 00:03:45.020 00:03:45.040 --> 00:03:46.480 00:03:46.670 --> 00:03:47.920 00:03:48.380 --> 00:03:50.180 00:03:50.400 --> 00:03:52.070 00:03:52.440 --> 00:03:53.740 00:03:54.280 --> 00:03:55.460 00:03:58.550 --> 00:03:59.390 00:04:00.300 --> 00:04:01.340 00:04:01.380 --> 00:04:04.110 00:04:04.590 --> 00:04:07.010 00:04:07.430 --> 00:04:09.000 00:04:09.290 --> 00:04:11.380 00:04:12.140 --> 00:04:13.310 00:04:13.410 --> 00:04:15.990 00:04:16.350 --> 00:04:17.240 00:04:17.360 --> 00:04:19.020 00:04:19.490 --> 00:04:21.810 00:04:23.920 --> 00:04:25.860 00:04:26.660 --> 00:04:28.000 00:04:28.480 --> 00:04:29.680 00:04:29.760 --> 00:04:31.240 00:04:31.350 --> 00:04:32.590 00:04:32.730 --> 00:04:34.340 00:04:35.390 --> 00:04:36.760 00:04:36.910 --> 00:04:38.270 00:04:38.980 --> 00:04:41.280 00:04:42.650 --> 00:04:44.220 00:04:44.580 --> 00:04:46.930 00:04:47.630 --> 00:04:49.680 00:04:50.120 --> 00:04:51.670 00:04:51.810 --> 00:04:53.220 00:04:53.530 --> 00:04:54.630 00:04:55.120 --> 00:04:56.810 00:04:57.540 --> 00:04:58.740 00:04:59.210 --> 00:05:00.530 00:05:01.620 --> 00:05:03.310 00:05:04.430 --> 00:05:06.930 00:05:07.220 --> 00:05:08.250 00:05:08.340 --> 00:05:09.730 00:05:10.560 --> 00:05:12.100 00:05:12.810 --> 00:05:14.890 00:05:15.690 --> 00:05:16.750 00:05:17.160 --> 00:05:17.850 00:05:18.290 --> 00:05:19.570 00:05:19.920 --> 00:05:21.020 00:05:21.660 --> 00:05:23.200 00:05:23.650 --> 00:05:24.710 00:05:24.820 --> 00:05:25.910 00:05:25.990 --> 00:05:26.690 00:05:26.940 --> 00:05:28.260 00:05:29.130 --> 00:05:30.290 00:05:30.360 --> 00:05:31.610 00:05:31.800 --> 00:05:32.900 00:05:33.410 --> 00:05:35.060 00:05:36.040 --> 00:05:37.330 00:05:37.460 --> 00:05:38.380 00:05:38.930 --> 00:05:40.020 00:05:40.720 --> 00:05:43.070 00:05:43.490 --> 00:05:44.500 00:05:44.940 --> 00:05:45.840 00:05:46.070 --> 00:05:47.140 00:05:47.400 --> 00:05:48.840 00:05:48.980 --> 00:05:50.580 00:05:50.950 --> 00:05:52.640 00:05:52.740 --> 00:05:53.750 00:05:53.830 --> 00:05:54.900 00:05:55.760 --> 00:05:56.940 00:05:57.590 --> 00:05:59.360 00:05:59.660 --> 00:06:00.640 00:06:01.090 --> 00:06:02.210 00:06:02.330 --> 00:06:04.080 00:06:04.230 --> 00:06:05.230 00:06:05.400 --> 00:06:06.380 00:06:06.490 --> 00:06:08.160 00:06:08.720 --> 00:06:10.070 00:06:10.400 --> 00:06:11.630 00:06:11.760 --> 00:06:12.830 00:06:13.050 --> 00:06:14.240 00:06:14.640 --> 00:06:15.700 00:06:16.000 --> 00:06:18.700 00:06:18.970 --> 00:06:20.660 00:06:20.750 --> 00:06:22.120 00:06:22.500 --> 00:06:23.790 00:06:23.920 --> 00:06:26.320 00:06:27.070 --> 00:06:28.030 00:06:28.130 --> 00:06:29.160 00:06:29.460 --> 00:06:31.110 00:06:32.360 --> 00:06:33.830 00:06:33.970 --> 00:06:35.110 00:06:35.740 --> 00:06:37.060 00:06:38.210 --> 00:06:41.160 00:06:42.480 --> 00:06:43.590 00:06:43.990 --> 00:06:45.070 00:06:45.410 --> 00:06:48.600 00:06:49.540 --> 00:06:50.330 00:06:50.410 --> 00:06:51.960 00:06:52.150 --> 00:06:54.560 00:06:54.960 --> 00:06:56.120 00:06:56.250 --> 00:06:58.130 00:06:59.640 --> 00:07:02.220 00:07:02.610 --> 00:07:03.640 00:07:03.730 --> 00:07:04.830 00:07:04.960 --> 00:07:06.330 00:07:06.720 --> 00:07:09.410 00:07:10.000 --> 00:07:10.780 00:07:10.880 --> 00:07:13.130 00:07:14.090 --> 00:07:15.060 00:07:15.270 --> 00:07:16.720 00:07:16.920 --> 00:07:18.830 00:07:19.780 --> 00:07:21.600 00:07:21.670 --> 00:07:22.850 00:07:22.930 --> 00:07:24.200 00:07:24.490 --> 00:07:26.670 00:07:27.720 --> 00:07:28.820 00:07:28.980 --> 00:07:32.170 00:07:32.570 --> 00:07:34.040 00:07:34.700 --> 00:07:37.110 00:07:37.550 --> 00:07:38.530 00:07:38.970 --> 00:07:39.750 00:07:40.360 --> 00:07:41.900 00:07:42.050 --> 00:07:44.650 00:07:45.050 --> 00:07:46.640 00:07:46.870 --> 00:07:48.010 00:07:48.770 --> 00:07:50.090 00:07:50.560 --> 00:07:52.810 00:07:53.080 --> 00:07:55.850 00:07:56.810 --> 00:07:58.250 00:07:58.900 --> 00:08:00.200 00:08:00.460 --> 00:08:01.470 00:08:02.110 --> 00:08:04.360 00:08:05.400 --> 00:08:06.800 00:08:07.260 --> 00:08:08.470 00:08:08.530 --> 00:08:10.690 00:08:11.090 --> 00:08:13.460 00:08:15.100 --> 00:08:16.310 00:08:16.960 --> 00:08:18.520 00:08:19.100 --> 00:08:20.990 00:08:21.440 --> 00:08:22.580 00:08:22.890 --> 00:08:24.420 00:08:24.500 --> 00:08:26.200 00:08:27.470 --> 00:08:28.910 00:08:29.760 --> 00:08:30.920 00:08:31.190 --> 00:08:32.910 00:08:33.970 --> 00:08:35.100 00:08:35.630 --> 00:08:37.080 00:08:37.440 --> 00:08:39.090 00:08:39.350 --> 00:08:40.560 00:08:41.490 --> 00:08:42.330 00:08:42.490 --> 00:08:43.520 00:08:43.950 --> 00:08:46.010 00:08:46.650 --> 00:08:48.450