前世注定123 前世注定123
活泼开朗,做人遵守原则.
关注数: 23 粉丝数: 57 发帖数: 4,485 关注贴吧数: 16
操作多个表 到现在为止,你只尝试了用一句SQL查询从一个表中取出数据。你也可以用一个SELECT语句同时从多个表中取出数据,只需在SELECT语句的FROM从句中列出要从中取出数据的表名称即可: SELECT au_lname ,title FROM authors, titles 这个SELECT语句执行时,同时从表authors和表titles中取出数据。从表authors中取出所有的作者名字,从表titles中取出所有的书名。在ISQL/w程序中执行这个查询,看一下查询结果。你会发现一些奇怪的出乎意料的情况:作者的名字并没有和它们所著的书相匹配,而是出现了作者名字和书名的所有可能的组合,这也许不是你所希望见到的。 出了什么差错?问题在于你没有指明这两个表之间的关系。你没有通过任何方式告诉SQL如何把表和表关联在一起。由于不知道如何关联两个表,服务器只能简单地返回取自两个表中的记录的所有可能组合。 要从两个表中选出有意义的记录组合,你需要通过建立两表中字段的关系来关联两个表。要做到这一点的途径之一是创建第三个表,专门用来描述另外两个表的字段之间的关系。 表authors有一个名为au_id的字段,包含有每个作者的唯一标识。表titles有一个名为title_id的字段,包含每个书名的唯一标识。如果你能在字段au_id和字段title_id 之间建立一个关系,你就可以关联这两个表。数据库pubs中有一个名为titleauthor的表,正是用来完成这个工作。表中的每个记录包括两个字段,用来把表titles和表authors关联在一起。下面的SELECT语句使用了这三个表以得到正确的结果: SELECT au_name,title FROM authors,titles,titleauthor WHERE authors.au_id=titleauthor.au_id AND titles.title_id=titleauthor.title_id 当这个SELECT语句执行时,每个作者都将与正确的书名相匹配。表titleauthor指明了表authors和表titles的关系,它通过包含分别来自两个表的各一个字段实现这一点。第三个表的唯一目的是在另外两个表的字段之间建立关系。它本身不包含任何附加数据。 注意在这个例子中字段名是如何书写的。为了区别表authors和表titles中相同的字段名au_id,每个字段名前面都加上了表名前缀和一个句号。名为author.au_id 的字段属于表authors,名为titleauthor.au_id的字段属于表titleauthor,两者不会混淆。 通过使用第三个表,你可以在两个表的字段之间建立各种类型的关系。例如,一个作者也许写了许多不同的书,或者一本书也许由许多不同的作者共同完成。当两个表的字段之间有这种“多对多”的关系时,你需要使用第三个表来指明这种关系。 但是,在许多情况下,两个表之间的关系并不复杂。比如你需要指明表titles和表publishers之间的关系。因为一个书名不可能与多个出版商相匹配,你不需要通过第三个表来指明这两个表之间的关系。要指明表titles和表publishers之间的关系,你只要让这两个表有一个公共的字段就可以了。在数据库pubs中,表titles和表publishers都有一个名为pub_id的字段。如果你想得到书名及其出版商的一个列表,你可以使用如下的语句: SELECT title,pub_name FROM titles,publishers WHERE titles.pub_id=publishers.pub_id
使用SQL从表中取记录 SQL的主要功能之一是实现数据库查询。如果你熟悉Internet 引擎,那么你已经熟悉查询了。你使用查询来取得满足特定条件的信息。例如,如果你想找到有ASP信息的全部站点,你可以连接到 Yahoo!并执行一个对Active Sever Pages的搜索。在你输入这个查询后,你会收到一个列表,表中包括所有其描述中包含搜索表达式的站点。 多数Internet 引擎允许逻辑查询。在逻辑查询中,你可以包括特殊的运算符如AND、OR和NOT,你使用这些运算符来选择特定的记录。例如,你可以用AND来限制查询结果。如果你执行一个对Active Sever Pages AND SQL的搜索。你将得到其描述中同时包含Active Sever Pages 和SQL的记录。当你需要限制查询结果时,你可以使用AND。 如果你需要扩展查询的结果,你可以使用逻辑操作符OR。例如,如果你执行一个搜索,搜索所有的其描述中包含Active Sever Pages OR SQL的站点,你收到的列表中将包括所有其描述中同时包含两个表达式或其中任何一个表达式的站点。 如果你想从搜索结果中排除特定的站点,你可以使用NOT。例如,查询“Active Sever Pages ”AND NOT “SQL”将返回一个列表,列表中的站点包含Active Sever Pages,但不包含SQL。当必须排除特定的记录时,你可以使用NOT。 用SQL执行的查询与用Internet搜索引擎执行的搜索非常相似。 当你执行一个SQL查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。
软件工程专业基础综合 操作系统 一、考查目标 操作系统是软件工程专业的一门核心专业基础课程,具有较强的理论性和实践性。该课程的考试内容包括引论、进程管理、内存管理、存储管理(包括文件系统与输入/输出系统)、保护与安全五部分的相关概念、设计原理和实现方法。考试的具体要求包括: 1. 了解操作系统在计算机系统中的作用、地位、发展和特点。 2. 理解操作系统的基本概念、主要功能、主要组成部分,掌握操作系统各个组成部分的设计方法和实现技术。 3. 能够运用所学的操作系统原理、方法和技术对相关问题进行分析和解决。 二、考试的内容 1.导论 1)操作系统的概念 2)计算机系统的操作、存储结构、输入输出结构和计算机系统的体系结构。 3)操作系统的结构组成、操作系统的操作及各部分的功能、高速缓冲存储器CACHE 4)操作系统的分类和运行环境 2.操作系统结构 1)操作系统提供的服务类型 2)操作系统的用户接口类型 3)系统调用及类型 4)操作系统的设计和实现方法 5)操作系统的结构分类及优缺点 6)虚拟机的基本概念和原理 3.进程 1)进程的概念、组织、控制和状态转换 2)进程调度的基本概念 3)进程的操作,包括进程的生成、终止等 4)进程通信 4.线程 1)线程的概念与动机 2)多线程模型 5.CPU调度 1)调度的基本概念 2)调度的时机、切换和过程 3)调度的基本准则 4)典型调度方法:先来先服务调度算法、最短作业优先调度算法、优先级调度算法、时间片轮转调度算法、多级队列调度算法、多级反馈队列调度算法 5)线程调度 6)调度算法的性能评估 6.进程同步 1)进程同步的基本概念 2)临界区访问的原则及实现临界区互斥的基本方法:软件实现方法和硬件实现方法 3)信号量概念与基本机制 4)经典同步问题:生产者-消费者问题、读者-写者问题、哲学家就餐问题和理发师问题。 5)管程的基本概念、原理和实现 7.死锁 1)死锁的概念及条件 2)死锁的处理策略 3)死锁的预防及实现方法 4)死锁的避免:系统安全状态、资源分配图算法、银行家算法 5)死锁的检测方法和解除 8.主存 1)内存管理的基本概念:程序的装入与链接、逻辑地址与物理地址、内存保护 2)交换技术 3)内存的分配管理方法:连续分配管理方法、分页管理方法、分段管理方法、段页式管理方法。 9.虚拟内存 1)虚拟内存的基本概念 2)请求分页管理方法 3)页面置换算法:先进 先出置换算法、最佳置换算法、最近最少使用置换算法、近似最近最少使用置换算法 4)帧的分配策略 5)抖动现象的原因及解决方法 6)内核内存的分配方法 7)虚拟内存中需要考虑的其他问题:预调页、页大小的影响、TLB的搜索能力、逆向页表等 10.文件系统接口 1)文件的基本概念 2)文件的结构:顺序文件、索引文件等 3)文件的访问方法 4)目录结构:文件的存储结构、单级目录结构、两级目录结构、树形目录结构、无环图目录结构、通用图目录结构 5)文件共享 11.文件系统实现 1)文件系统的结构 2)文件系统的实现 3)目录的实现 4)文件的磁盘空间分配方法:连续、链式、索引 5)空闲空间的管理 12.大容量存储 1)磁盘的结构 2)磁盘的调度方法:先到先服务调度算法、最短寻道时间调度算法、SCAN调度算法、C-SCAN调度算法、LOOK调度算法、C-LOOK调度算法 3)磁盘管理:格式化、引导块、坏块的处理 4)RAID结构 13.输入/输出系统 1)输入/输出硬件 2)输入/输出访问控制方式 3)输入/输出应用接口 4)内核输入/输出子系统:输入/输出调度、缓存、缓冲、假脱机与设备预留、错误处理、输入/输出保护、内核数据结构 5)输入/输出从请求到硬件操作的转换过程 14.保护 1)保护的目标与原则 2)保护域 3)访问矩阵及实现方法:全局表、访问列表、能力表 15.安全 1)系统中存在的安全问题以及安全措施的级别 2)程序的威胁:木马、后门、逻辑炸弹、栈与缓冲溢出、病毒 3)系统与网络威胁:蠕虫、端口扫描、DoS
首页 1 2 3 4 5 6 下一页