\documentclass[全部作业]{subfiles}
\input{mysubpreamble}
\begin{document}
\chapter{引言}
\begin{enumerate}
    \questionandanswer[1.7]{
        列出文件处理系统和DBMS的四个主要区别。
    }{
        文件处理系统的数据存储在不同的文件中，随着数据的添加和修改，可能出现数据的冗余和不一致性，而DBMS通过集中管理数据使数据不再冗余，且有一致性；

        文件处理系统的数据分散在不同文件中，这些文件又可能具有不同的格式，所以要编写不同的应用程序来访问，这使访问很困难，而DBMS的数据有相同的格式，这使访问更容易；

        文件处理系统在添加约束时很复杂，需要修改多个应用程序，而DBMS由于统一管理数据，所以只需要简单修改约束规则即可；

        在发生并发访问时，由于文件系统的应用程序很难协调，就会导致出现数据不一致的问题，而DBMS能更好地监管并修正并发访问时出现不一致问题。
    }
    \questionandanswer[1.8]{
        解释物理数据独立性的概念，以及它在数据库系统中的重要性。
    }{
        应用程序如果不依赖于物理模式，即使物理模式改变了它们也无须重写，它们就被称为具有物理数据独立性。

        它在数据库系统中的重要性在于，当出现了更好的数据库物理模式时，具有物理数据独立性的应用程序可以轻易地迁移到新的数据库物理模式上，而不需要大量修改代码。
    }
    \questionandanswer[1.14]{
        解释为什么NoSQL系统在21世纪头十年出现，并将它们的特性与传统的数据库系统做简单对比。
    }{
        各式各样的新的数据密集型应用以及对快速开发的需求，特别是新兴的公司的需求，导致了 “NoSQL”系统的诞生，它提供轻量级形式的数据管理。

        \begin{itemize}
            \item NoSQL不支持SQL数据库查询语言，而传统数据库系统基本上都支持SQL数据库查询语言。
            \item NoSQL在数据类型上更灵活，而传统数据库系统只支持固定的数据类型。
            \item NoSQL只需要最终一致性，即数据的分布式拷贝可以不一致，只要在没有更进一步的更新时能最终汇集起来，而传统数据库系统需要数据的严格一致性。
        \end{itemize}
    }
    \questionandanswer[1.15]{
        描述可能被用于存储一个社会网络系统（例如Facebook）中的信息的至少三个表。
    }{
        \begin{itemize}
            \item 用户表：用于描述用户的基本信息，列有用户ID、用户昵称、性别、年龄等。
            \item 文章表：用于描述文章的信息，列有文章ID、文章内容、所属用户等。
            \item 用户关注表：用于描述用户关注的的情况，列有关注者、被关注者。
        \end{itemize}
    }

    \questionandanswer[9.14]{
        根据如下文档内容，选用MySQL或GaussDB创建数据库，并执行bank\_data.sql脚本导入数据。

        % 虽然文档里说是不用转义百分号，但是这里不转义就报错
        \href{https://mooc1.chaoxing.com/mooc-ans/ueditorupload/read?objectId=408ec727c4118e765ddf4ba123957442&fileOriName=bank\%E6\%95\%B0\%E6\%8D\%AE\%E5\%BA\%93\%E5\%AE\%9A\%E4\%B9\%89.docx}{\textbf{bank数据库定义.docx}}
        
        \href{https://d0.ananas.chaoxing.com/download/a90968c5bc359f83c39e76c6ae364158?fn=bank_data}{\textbf{bank\_data.sql}}

        注意：
        \begin{enumerate}
            \item 在GaussDB数据库中，选择在自己的数据库（例如“DB\_USER007”）创建表即可。无需再创建名为bank的数据库。
            \item 执行bank\_data.sql脚本导入数据之前，不要设置外键约束，否则会出现数据导入异常问题。可以在数据导入之后，再设置外键约束。
            \item 答案列出创建完成的MySQL和GaussDB数据库每个表的关系模式和部分数据，截图（一张表一个图）即可。
        \end{enumerate}
    }{\noindent
        \includegraphics[width=1\linewidth]{imgs/bank.png}
        \includegraphics[width=1\linewidth]{imgs/acc_tranaction.png}
        \includegraphics[width=1\linewidth]{imgs/account.png}
        \includegraphics[width=1\linewidth]{imgs/branch.png}
        \includegraphics[width=1\linewidth]{imgs/business.png}
        \includegraphics[width=1\linewidth]{imgs/customer.png}
        \includegraphics[width=1\linewidth]{imgs/department.png}
        \includegraphics[width=1\linewidth]{imgs/employee.png}
        \includegraphics[width=1\linewidth]{imgs/individual.png}
        \includegraphics[width=1\linewidth]{imgs/officer.png}
        \includegraphics[width=1\linewidth]{imgs/product.png}
        \includegraphics[width=1\linewidth]{imgs/product_type.png}
    }
\end{enumerate}
\end{document}