精华内容
下载资源
问答
  • 在数据库中数据表示记录,例如,在学生管理数据库中,记录学生的信息包括学号、姓名、性别、年龄、籍贯和联系电话等,这些信息就是数据。 信息是指对数据进行加工处理后提取的对人类社会实践和生产活动产生决策影响...

    在学习数据库之前,应该先理解什么是数据。本节先介绍数据以及数据库的概念,再对关系型数据库和非关系型数据库的优缺点进行分析。

    描述事物的符号称为数据。数据有多种表现形式,可以是数字,也可以是文字、图形、图像、声音、语言等。在数据库中数据表示记录,例如,在学生管理数据库中,记录学生的信息包括学号、姓名、性别、年龄、籍贯和联系电话等,这些信息就是数据。

    信息是指对数据进行加工处理后提取的对人类社会实践和生产活动产生决策影响的数据。信息就是数据中所包含的意义。未经过加工的数据只是一种原始材料,它的价值在于记录了客观世界的事实。

    例如“2016010102,张三,男,26,山西,计算机学院,185********”,对于这条学生记录,了解其含义的人会得到这样的信息:张三的学号是 2016010102,今年 26 岁,山西人,就读于计算机学院,他的联系电话是 185********;而不了解其语义的人则无法理解其含义。所以,数据和信息是不可分的。

    数据库(Database)指长期存储在计算机内的、有组织的、可共享的数据集合。通俗的讲,数据库就是存储数据的地方,就像冰箱是存储食物的地方一样。在生活中,每个人都在使用数据库。当我们在电话簿里查找名字时,就是在使用数据库。在某个浏览器上进行搜索时,也是在使用数据库。以及平时我们登录网络,也需要依靠数据库验证自己的名字和密码。即便是在使用 ATM 机时,也要利用数据库进行 PIN 码验证和余额检查。

    数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作。

    在日常生活中,人们可以直接用中文、英文等自然语言描述客观事物。在计算机中,则要抽象出对这些事物感兴趣的特征,并组成一个记录来描述。

    数据库管理系统(DBMS)是数据库系统的核心软件之一,是位于用户与操作系统之间的数据管理软件,用于建立,使用和维护数据库。它的主要功能包括数据定义、数据操作、数据库的运行管理、数据库的建立和维护等几个方面。

    我们常说 XX 数据库,其实实质上是 XX 数据库管理系统。目前,较为流行的数据库管理系统有 MySQL、SQL Server、Oracle 和 DB2 等。

    数据库有两种类型,分别是关系型数据库和非关系型数据库。

    关系型数据库

    关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。简单说,关系型数据库是由多张能互相连接的表组成的数据库。

    优点

    • 都是使用表结构,格式一致,易于维护。
    • 使用通用的 SQL 语言操作,使用方便,可用于复杂查询。
    • 数据存储在磁盘中,安全。

    缺点

    • 读写性能比较差,不能满足海量数据的高效率读写。
    • 不节省空间。因为建立在关系模型上,就要遵循某些规则,比如数据中某字段值即使为空仍要分配空间。
    • 固定的表结构,灵活度较低。

    常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。

    非关系型数据库

    非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

    优点

    • 非关系型数据库存储数据的格式可以是 key-value
      形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
    • 速度快,效率高。 NoSQL 可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
    • 海量数据的维护和处理非常轻松。
    • 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
    • 可以实现数据的分布式处理。

    缺点

    • 非关系型数据库暂时不提供 SQL 支持,学习和使用成本较高。
    • 非关系数据库没有事务处理,没有保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
    • 功能没有关系型数据库完善。

    常见的非关系型数据库有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。

    展开全文
  • 属性:实体所具有的某一特征,例如,学生的特征:学号,姓名,年龄等都属性。 关键字:键能够唯一标识实体的属性或属性组合。例如,学号是学生实体的键 三级模式: (1)三级模式结构 1.概念模式 :概念模式是指...

    一、什么是实体、属性、关键字、三级模式、数据独立性、数据完整性、事务及其特征、可串形化。

    实体:实体是客观存在并可相互区别的事物,例如:一个苹果,一部手机都是实体。
    属性:实体所具有的某一特征,例如,学生的特征:学号,姓名,年龄等都是属性。
    关键字:键是能够唯一标识实体的属性或属性组合。例如,学号是学生实体的键
    三级模式
    (1)三级模式结构
    1.概念模式 :概念模式是指数据库全体数据的逻辑结构特征描述。例如,属性的命名,属性数据类型、大小长度等描述。一个数据库只有一个概念模式。
    2.外模式
    外模式是指数据库中局部数据的逻辑结构特征描述。外模式一般用视图来实现。应用程序是根据外模式来写的。
    3.内模式 内模式是指数据库中数据的物理结构和存储方式的描述。一个数据库只有一个内模式。

    (2)两级影像 :数据库的三级模式中各级模式都不相同,它们之间的转换通过二级影像来实现。
    1)概念模式/内模式映像 当数据库的内模式改变时,只需要修改概念模式/内模式映像就可以保证概念模式不变, 概念模式不变,则外模式就不变,外模式不变则应用程序不变。
    2)外模式/概念模式映像 当数据库的概念模式改变时,只需要修改外模式/概念模式映像就可以保证外模式不变, 外模式不变则应用程序不变。

    数据独立性
    1.数据的物理独立性是指应用程序对数据存储结构的依赖程度,数据物理独立性高是指当数据的物理结构发生变化时,应用程序不需要修改也可以常工作。
    2.逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。
    数据完整性:数据库完整性(Database Integrity)是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。
    事务及其特征
    数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。
    四大特征:
    (1)原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败;
    (2)一致性(Consistent):事务结束后系统状态是一致的;
    (3)隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态;
    (4)持久性(Durable):事务完成后所做的改动都会被持久化,即使发生灾难性的失败。通过日志和同步备份可以在故障发生后重建数据。

    事务并发产生的问题:脏读、幻读、不可重复读。
    (1)脏读(Dirty Read): A 事务读取 B 事务尚未提交的数据并在此基础上操作,而 B 事务执行回滚,那么 A 读取到的数据就是脏数据。
    (2)幻读(Phantom Read):事务 A 重新执行一个查询,返回一系列符合查询条件的行,发现其中插入了被事务 B 提交的行。
    (3)不可重复读(Unrepeatable Read):事务 A 重新读取前面读取过的数据,发现该数据已经被另一个已提交的事务 B 修改过了。

    可串行化:调度是一个或多个事务的重要操作按时间排序的一个序列。
    如果一个调度的动作首先是一个事务的所有动作,然后是另一个事务的所有动作,以此类推,而没有动作的混合,那么我们说这一调度是串行的。
    事务的正确性原则告诉我们,每个串行调度都将保持数据库状态的一致性。 通常,不管数据库初态怎样,一个调度对数据库状态的影响都和某个串行调度相同,我们就说这个调度是可串行化的。[如果一并行调度的结果等价于某一串行调度的结果,那么这个并行调度成为可串行化的]

    展开全文
  • <span class="hljs-comment">//当你用一个基类指针或引用指向一个继承类对象的时候,调用一个虚函数时, 实际调用的是继承类的版本。多态性 virtual <span class="hljs-keyword">void</span> input()=...
  • c语言结构体定义和使用

    千次阅读 2020-12-09 14:55:12
    结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate datatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的...

    一、什么是结构体

    在实际问题中,一组数据往往具有不同的数据类型;例如在学生信息登记表中,姓名为字符型,学号为整型或字符型,年龄为整型,性别为字符型,成绩为整型或实型。因为数据类型不同,显然不能用一个数组来存放。
    在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate datatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

    • 定义结构体的一般形式为:
    struct 结构体名{  
        成员列表  
    }; 
    

    在成员表列中可以是几种基本数据类型,也可以是结构体类型。
    struct 类型名{} 变量;后的分号不能漏

    • 例如用结构体来表示学生信息:
    struct stu{  
        char *name;  //姓名  
        int num;  //学号  
        char sex;  //性别  
        float score;  //成绩  
    };
    

    二、结构体变量

    结构体也是一种数据类型,可以用来说明变量。例如:

    struct stu stu1, stu2;  
    

    定义了两个变量 stu1 和 stu2,它们都是 stu 类型,都由 4 个成员组成。注意关键字struct不能少。
    结构体的各个成员在内存中是连续存储的。stu1、stu2 的内存如下图所示:
    图片标题

    也可以在定义结构体的同时定义结构体变量:

    struct stu{  
        char *name;  //姓名  
        int num;  //学号  
        char sex;  //性别  
        float score;  //成绩  
    } stu1, stu2;  
    

    如果只需要 stu1、stu2 两个变量,也可以不写结构体名字:

    struct{  //没有写 stu  
        char *name;  //姓名  
        int num;  //学号  
        char sex;  //性别  
        float score;  //成绩  
    } stu1, stu2;  
    

    这样做书写简单,但是因为没有结构体名,后面就没法用该结构体定义新的变量。
    也可以用宏定义使一个符号常量来表示一个结构类型,例如:

    #define STU struct stu  
    STU{  
        char *name;  //姓名  
        int num;  //学号  
        char sex;  //性别  
        float score;  //成绩  
    };  
    STU stu1, stu2;
    

    后面我们会学习Windows编程,大部分结构体都是这样定义的。
    typedef和#define用法不同,甚至可以结合起来灵活使用,使用时一定要注意两者的不同之处。

    三、成员的获取和赋值

    在C语言中,使用点号.来获取结构体中的一个成员,一般格式为:

    结构变量名.成员名  
    

    例如:

    stu1.name;  //第一个学生的姓名  
    stu2.score;  //第二个学生的成绩  
    

    获取成员后,就可以对该成员进行赋值了,例如:

    stu1.name = “Tom”;
    stu2.score = 90.5;
    除了可以对成员进行逐一赋值,也可以像数组一样整体赋值,例如:

    struct stu{  
        char *name;  //姓名  
        int num;  //学号  
        char sex;  //性别  
        float score;  //成绩  
    } stu1, stu2 = { "Tom", 10, 'M', 90 };  
    

    不过整体赋值仅限于上面这样的情况,也就是定义结构体的同时声明变量。下面的写法是错误的:

    stu2 = { "Tom", 10, 'M', 90 };  
    

    一个完整的示例:

    #include <stdio.h>  
    #define STU struct stu  
    int main(){  
        STU{  
            char *name;  //姓名  
            int num;  //学号  
            char sex;  //性别  
            float score;  //成绩  
        };  
        STU stu1;  
        stu1.name = "James Bond";  
        stu1.num = 1;  
        stu1.sex = 'M';  //用M表示男性,W表示女性  
        stu1.score = 99;  
        printf("Hello everyone! My name is %s, a naughty boy, but with good scores(%.2f) and top No.(%d)!", stu1.name, stu1.score, stu1.num);  
        return 0;  
    }  
    
    展开全文
  • 左连接,指的是拿左边表的每一行数据和右边表的所有行一一对比,满足条件即打印出来;特点在于如果对于左表的某一行和右表所有数据都不满足条件,也会返回一条数据,例如: 学生表student 学号(SID) 姓名(NAME)...

    MySQL中可以对两个表中数据做连接查询,就是左连接、右连接和内连接,那么这三者之间有什么区别呢?

    LEFT JOIN:

    左连接,指的是拿左边表的每一行数据和右边表的所有行一一对比,满足条件即打印出来;特点在于如果对于左表的某一行和右表所有数据都不满足条件,也会返回一条数据,例如:

    学生表student
    学号(SID) 姓名(NAME) 年龄(AGE)
    01 刘小华 18
    02 周星星 19
    03 谢安琪 20
    成绩表(sc)
    学号(SID) 课程号(CID) 成绩(SCORE)
    01 01 99
    01 02 88
    02 02 90

    那么select * from student left join sc on student.SID = sc.SID输出如下:可以看到,即使谢安琪没有成绩,但是也会打印这条记录

    学生成绩左连接查询
    学号(SID) 姓名(NAME) 年龄(AGE) 学号1(SID1) 课程号(CID) 成绩(SCORE)
    01 刘小华 18 01 01 99
    01 刘小华 18 01 02 88
    02 周星星 19 02 02 90
    03 谢安琪 20 null null null

    右连接:

    意思与左连接相反,拿右表中的每一行和左表中的所有行一一比较,以右表为准,譬如上述表如果用右连接的话,则没有谢安琪这条记录了,因为右表中没有SID为03的记录,所以只会查出3条记录

    内连接:

    内连接比较的是共有,如果上述表用内连接查询的话,结果和右连接是一样的,区别在于内连接一定会返回共有的部分,如果左表中的某一行对应右表中所有行条件不成立则不输出该条记录,同理如果对于右表中的某一行对应左表中的所有行条件不成立,也不会输出这一条,即要么输出两个表都有的记录,要么不输出

    展开全文
  • 输入学生的学号,修改该学生的各类信息 *|\n"); printf(" |* 6.输入学生的学号,删除该学生的信息 *|\n"); printf(" |* 7.显示各类统计信息 *|\n"); printf(" |* 8.菜单 *|\n"); printf(" |* 9.清屏 *|\n");...
  • 什么是数据库? 数据库,即数据的集合,按照数据结构来组织、存储和管理数据的仓库。 什么是关系型数据库?...一个班级有多个老师和多个学生,老师与学生的对应关系多对多;每个学生有一个学号,学生与学号的...
  • 1.贯穿始终的核心思想: (1) 数据的逻辑结构是什么? (2) 数据的存储结构是什么?...比如学生的姓名和学号构成一个数据元素,那么它和学生的电话号码和家庭住址所构成的数据元素构成一个数据就不是
  • 重新学习JSP之三

    2019-02-26 23:34:39
    一.认识URL传值 URL传值是指在链接到某个页面时向目标页面传递参数。...所以单击链接时,要告诉服务器需要删除学生的学号。 链接的语法如下: &amp;lt;a href = &quot;目标页面路径&quot;&amp;gt...
  • 软件功能都还好说,但就是在想登陆界面的时候,不想写注册了,想直接用学校里面每个学生的学号和密码。但是我又不可能拿到学校的数据库,所以,我想了一下,想通过QT在后台访问学校主页并想网页输入账号密码来登陆,...
  • 每个文件中存储的是学生的学号。 由于工作需要,我们现在想知道: 既参加了A组,又参加了B组,但是没有参加C组的同学一共有多少人? 请你统计该数字并通过浏览器提交答案。 注意:答案是一个整数,不要提交任何多余...
  • 3、什么是关系实体完整性规则?举例说明。 关系模型完整性约束是指关系或关系之间应该满足约束条件,以保证数据库中数据完整性。关系模型完整性约束有三...例如,学生选课关系选课(学号,课程号,成绩)中
  • 特征工程介绍

    2020-05-18 11:05:17
    无关特征:是指与当前学习任务无关特征(该特征所提供信息对于当前学习任务无用),如对于学生成绩而言,学号无关特征。 冗余特征:是指该特征所包含信息能从其他特征推演出来,如对于“面积”这个特征而...
  • 一、绪论 1、什么是数据、数据元素、数据项、数据对象、数据结构? (1)、数据 客观事物的符号表示,所有能输入到计算机并被计算机程序处理的符号的...如:学生信息表中的学号、姓名、性别都数据项。 (4)、数据对象
  • Mybatis-动态SQL

    2020-08-15 16:22:05
    动态SQL指的是根据不同的查询条件,生成不同的sql语句。 < if > < where> < foreach> < choose >(when otherwise) if 语句 语法: < if test=“判断Java对象的属性值”>   ...
  • 1.加密算法指的是通过一个加密的手段,可逆,通过算法反推原数据, 2.信息摘要算法是一种字典,不可逆,字典的生成是随机的 二、Mysql中如何使用MD5加密信息? 1.创建一个学生表 CREATE TABLE `student` ( `id` ...
  • 非关系型数据库通常数据以对象的形式存储在数据库中 对象是什么?用代码举例子可以吗? 比如 有一个学生的数据:  姓名:张三,性别:男,学号:12345,班级:二年级一班 还有一个班级的数据: ...
  • 213

    2010-06-23 00:20:00
      需求分析任务就是通过... 1、信息要求 信息要求是指用户要从数据库中获得什么信息。在本系统中,用户要求获得以下信息: 1)学生学号、所在班级、院系 2)开设课程信息 3)教
  • 主要内容是什么? 2 第3章 数据类型、运算符与表达式 2 3.3请将下面各数用八进制和十六进制数表示: 2 3.4将以下三各整数分别赋给不同类型变量,请画出赋值后数据在内存中存储形式。 2 3.5字符常量和字符...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    <br> 实验八 综合实验 内容及步骤: 1、请使用C++编写班级学生学籍管理程序 每个学生的信息包括:姓名、学号和英语、数学、程序设计及体育成绩。从键盘输入数据,建立数据文件student.dat,然后,...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    14. 使用什么命令可以清除表中所有内容? ( D ) A.INSERT B.UPDATE C. DELETE D.TRUNCATE 15.关于模式描述下列哪一项不正确?( C ) A.表或索引等模式对象一定属于某一个模式 B.在Oracle数据库中,模式与...
  • 查询数据是指从数据库中数据表或视图中获取所需要数据,在mysql中,可以使用SELECT语句来查询数据。根据查询条件不同,数据库系统会找到不同数据。 SELECT语句基本语法格式如下: [sql] view plain copy ...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    3.计算机算法指的是(C),它必须具备(B) 这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性...
  • 假如不知道机器内程序中各语句实际上是什么,分别输入什么样detax来测试出while语句循环条件写错了。 (4)、把原程序中while语句之前y=1/x语句去掉,观察程序运行将会发生什么样变化。 假如不知道...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

学生的学号指的是什么