Skip to main content
Global

4.5: 侧边栏-数据库和电子表格之间的区别

  • Page ID
    172466
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    向学生介绍数据库的概念时,他们很快就会决定数据库与电子表格相似。 有一些相似之处,但我们将回顾一些很大的差异。 电子表格希望有一天能发展成数据库。

    让我们从电子表格开始。 它易于创建、编辑和格式化。 对于初学者来说,它很容易使用。 它由列和行组成,以类似于数据库表的有组织方式存储数据。 两个主要的电子表格应用程序是谷歌表格和微软 Excel。 电子表格最方便的事情之一是与多个用户共享可访问性。 数据库的情况并非如此。

    为了简单起见,电子表格可以很好地替代数据库。 如果只需要一个简单的行和列列表(单个表),那么创建一个数据库可能太过分了。 在我们的 Student Clubs 示例中,如果我们只需要跟踪分会列表、成员数量和主席的联系信息,则只需一个电子表格就可以了。 但是,如果使用电子表格进行跟踪,则需要包含活动列表和成员姓名会很成问题。

    当必须混合几种类型的数据时,或者当这些类型的数据之间的关系很复杂时,电子表格不是最佳解决方案。 数据库允许将来自多个实体(例如学生、俱乐部、会员和活动)的数据关联成一个整体。 虽然电子表格确实允许您定义可以在其单元格中输入哪些类型的值,但数据库提供了更直观、更强大的方法来定义进入每个字段的数据类型,从而减少了可能的错误并便于分析。 尽管不适合替换数据库,但电子表格可能是分析存储在数据库中的数据的理想工具。 电子表格包可以连接到数据库中的特定表或查询,并用于创建图表或对该数据执行分析。

    数据库在使用由列和行组成的表格的电子表格外观上有许多相似之处。 该数据库是结构化原材料的集合。 信息存储在计算机上。 电子表格的行和列很容易编辑;数据库不是这样。 数据库已格式化,因此字段(列)已预先配置。 该数据库还具有关系性,因为它能够在记录和表之间创建关系。 电子表格和数据库都可以由多个作者编辑。 在数据库中,更改时会创建日志。 电子表格不是这样。 电子表格非常适合小型项目,但是随着项目的发展,数据库会变得越来越有用。

    Behaviorism_1.gif
    \(\PageIndex{1}\):数据库计算机。 来自 PixabayGerd Altmann 的@@ 图片已获得 CC BY-SA 2.0 的许可

    直播

    流媒体是一种从远程服务器观看点播音频或视频的全新简便方法。 公司从其服务器提供音频和视频文件,用户可以远程访问这些文件。 数据直接持续地从他们的服务器传输到您的设备。 任何连接到互联网的设备都可以访问流媒体。 无需大容量内存,也不必等待大文件下载。 流媒体技术因其便利性和可访问性而变得非常流行。 一些流媒体服务的一个例子是 Netflix、iTunes 和 YouTube。

    其他类型的数据库

    关系数据库模型是当今最常用的模型。 但是,还有许多其他数据库模型提供的优势与关系模型不同。 在 20 世纪 60 年代和 1970 年代,分层数据库模型以层次结构连接数据,允许数据之间存在父/子关系。 以文档为中心的模型通过将数据放入 “文档” 中,然后可以对其进行操作,从而实现更多的非结构化数据存储。

    NoSQL 的概念(来自 “不只是 SQL” 一词)。 NoSQL 源于解决分布在多台服务器甚至世界各地的大规模数据库的需求。 为了使关系数据库正常运行,一次只能有一个人能够操作一条数据,这个概念被称为记录锁定。 但是对于当今的大型数据库(比如谷歌和亚马逊),这是不可能的。 NoSQL 数据库可以更松散地处理数据,从而实现更加非结构化的环境,将数据随时间推移而发生的变化传达给作为数据库一部分的所有服务器。 许多公司出于各种原因收集数据,从您访问某个网站的次数到您在网站上查看的内容。