1、创建“学生-课程”数据库:将数据文件和日志文件都存放在D盘自已学号的目录下。其中数据文件和日志文件初始大小都为1MB,自动增长率都为10%。
create database MyDB
on(
name='Student-SC',
filename='d:\自己学号\Student-SCmdf',
size=1,filegrowth=10%)
log on
(name='Student-SClog',
filename='d:\自己学号\Student-SClogldf',
size=1,filegrowth=10%)
go
2、在“学生-课程”数据库创建“学生”表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号设为主键约束,性别设置检查性约束。
use Student-SC
create table Student
(Sno char(5) primary key,
Sname varchar(20),
Ssex varchar(2),
Sage tinyint,
Sdept varchar(30),
check(Ssex in('男','女')))
go
3、查询“学生”表中全体学生的学号与姓名
select Sno,Sname from Student
4、查询年龄在20至23岁之间的学生的姓名、所在系和年龄
select Ssex,Sdept,Sage from Student where Sage between 20 and 23
5、 查所有姓刘的学生的姓名、学号和性别
select Sname,Sno,Ssex from Student where Sname like '刘%'
6、 查询“学生选课”表中成绩最高和成绩最低的记录,要求显示学号(Sno)、课程号(Cno)、成绩(Grade)三个属性
select Sno,Cno,Grade from SC group by Sno,Cno having max(Grade) or min(Grade)
7、使用内部联接查询并显示所有选修课程的同学的学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、课程号(Cno)、成绩(Grade)属性
select SCSno,StudentSname,StudentSsex,StudentSage,StudentSdept,SCCno,SCGrade from SC inner join Student on SCSno=StudentSno
8、向“学生”表中插入如下记录:学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、所在系: ’计算机科学系’
insert into Student values('04160','王燕','女',22,'计算机科学系')
9、将计算机科学系全体学生的成绩置零
update SC set Grade=0 where exists(select Sno,Sdept from Student where StudentSno=SCSno and StudentSdept='计算机科学系')
10、在“学生”表中,删除学号为’04160’同学的记录
delete from Student where Sno='04160'
USE [master]
GO
CREATE DATABASE StudentManage ON PRIMARY
( NAME = N'StudentManage', FILENAME = N'D:\StudentManagemdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'StudentManage_log', FILENAME = N'D:\StudentManage_logldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
/学生管理数据库(StudentManage)创建完成,下面创建学生表(Student):/
USE [Jinlong]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo][Student](
[学号C9] [char](7) NOT NULL,
[姓名C10] [char](6) NULL,
[性别C2] [char](2) NULL,
CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
(
[SID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
select from 学生 where 生源地='江门'
select from 学生 where 姓名 like ('张%')
select from 班级 order by 班号 desc
1 MVC 设计模式设计模式概述
11 MVC 设计模式
MVC 设计模式是一种著名的软件开发设计模式,它是模型、视图、控制器( Mode1ViewController )缩写模型封装了用户数据和处理数据的业务逻辑;视图提供了用户界面,将用户输入数据传递给控制器或将模型数据显示给用户;控制器连接了模型和视图,判断请求交给哪个模型,调用视图显示模型处理用户请求结果
MVC 设计模式将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了软件的可扩展性、可维护性
12 Struts 框架
Struts 是基于的MVC模式应用框架,遵守了 J2EE 的Servlet、JSP 等技术规范,并且根据J2EE的特点做了相应的变化和扩展,是J2EE 体系架构的一种轻量级实现
在Struts 框架中,控制器由 ActionServlet 和Action 类以及 Strutsconfigxml 配置文件实现ActionServlet 是Struts 框架的核心控制组件, 所有的用户请求都被映射到 ActionServlet, 由ActionServlet 根据配置文件中的定义将控制转移到指定的 Action 类Action 类是用户请求与业务逻辑之间的桥梁,它执行一个 execute()方法并返回一个ActionForward对象,当ActionServlet 接收到该对象后,根据 Struts configxml 中的配置信息将请求转发Struts 框架中的视图主要由 JSP 页面组成ActionForm 是Struts 在视图层的一个核心组件,它是专门用来在视图层和控制层之间传递表单数据的 DTO(Dam Transfer Object,数据传输对象),它还包括了用于数据验证的 validate()方法和用于数据复位的 reset()方法在Struts 应用程序中,开发人员可以选择 JavaBean、Hibernate、EJB 等组件来实现 Struts 框架中的模型
2Hibernate 持久化技术
Hibernate 是一个基于 Java 的开放源代码的 O/R Mapping (对象关系映射框架),它通过其强大的 O/R 映射功能 JAVA 对象同存于关系数据库中的数据进行映射,并对 JDBC 进行了轻量级的对象封装,可以使JAVA程序员方便地使用对象编程思维来 *** 纵数据库,它不仅提供 ORM 映射服务,还提供数据查询和数据缓存的方法,可以提高查询和处理数据的效率它是一种提供面向对象的数据库服务中间件
3基于 Struts 和Hibernate 的考勤管理系统的设计
随着教育部对在校大学生出勤的相关规定出台,各大专院校加大了对学生考勤的管理力度,但大部份都采用手工处理的方法,工作量大且效率低本系统能够实现网上对学生考勤信息进行添加、删除、修改、查询和统计功能,管理人员能及时了解学生出勤情况和某课班级某课程的出勤情况在开发的过程中,使用 PowerDesigner 作为 CASE 工具,采用对 Hibernate 和Struts 提供良好支持的 Myeclipse 60 作为系统的开发环境,数据库采用 MYSQL50,WEB 服务器采用 jakarta Tomcm60 并安装了 JDK60
31数据库层的设计
Power Designer 是Sybase 公司的 CASE 工具集,使用它可以方便地对管理信息系统进行分析设计DataArchitect 模块是Power designer 的核心工具,它采用二级数据建模方式,即概念级和物理级在概念级,概念数据模型 (CDM) 代表业务信息需求,不考虑在数据库上的物理实现,通过它可以绘制系统的实体联系图(ER图),即系统的静态特征;在物理级,物理数据模型 (PDM) 指定了物理实现的目标RDBMS的特征等细节它可以生成数据库脚本,通过选择 ODBC 方式则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象它与其它设计软件相配合使用可以缩短开发时间和使系统设计更优化
在本系统的设计过程中,我们利用 Power Designer 来完成系统数据库概念设计和 MYSQL 数据库表的工作首先,在PowerDesigner 中设计系统的概念层次的数据模型,通过它的CDM 功能创建实体关系图来描述系统的数据组织结构通过它的检查模型功能,校验概念数据模型中实体、实体属性、实体标识和实体间关系等是否存在问题接着,选择 MYSQL 作为系统的目标数据库,生成在MYSQL 上实现的数据库的物理数据模型 (PDM) :最后,通过产生数据库功能,并选择 ODBC 方式连接到指定的数据库,从而直接产生MYSQL 上的数据库表以及其他数据库对象
32 持久化层的设计
数据持久层基于 Hibernate 架构,采用了 DAO 设计模式和抽象工厂设计模式下面以学生类 (Student) 为例进行说明首先,把学生信息封装为 VO(Value Object) VO 是一组值对象,只包含了一些属性和 getter/setter 方法的 POJO(Plan Old Java Bean) 然后,采用 DAO 设计模式和抽象工厂设计模式,完成 DAO 工厂和 Hibernate 数据库 *** 作的具体实现最后,利用 Hibernate 的配置文件完成从应用程序到数据库的映射
在Myeclipse 开发环境中,首先配置数据库服务器的连接,然后利用 Myeclipse 的Hibernate 的逆向工程,可以自动完成持久化层的设计任务例如对学生表 (student) 进行逆向工程, 将会自动生成Studentiava、AbstractStudentiava、StudentDAOiava、Studenthbmxml等文件其中,Abstract Studentiava 就是一个封装了 Student 信息的VOStudent DAOjava采用DAO模式封闭了数据库 *** 作
在hibematecfgxml 配置文件中,定义了符合 SQLServer 规范的 dialect 方言,连接池访问数据库的 URL 资源定位地址以及数据库名称kq, 数据库连接驱动程序,Hibernate管理事务、是否显示SQL语句在mapping映射文件配置部分,定义了教师表 (Teacher)、学生表 (Student1、考勤表(Attendance) 等对应的映射文件等在该层的设计中,VO 的信息封装体现了面向对象设计编程思想; DAO 的设计模式和抽象工厂模式减弱了上层调用和具体实现之间的耦合;Hibemate 配置实现了数据库高移植性,只需要改变 Hibemate 配置文件,不用修改程序设计就可以完成不同数据库之间的更换
33 业务逻辑层设计
业务逻辑层包含了供客户端程序调用的业务逻辑规则,以帮助客户端完成业务 *** 作该层采用业务代理、DAO和抽象工厂设计模式使用业务代理、DAO 和抽象工厂设计模式,可以使业务逻辑更加灵活,如果具体业务发生变化,在表示层和数据持久化层改变很小就可以完成改变,这种设计能够增强系统的可维护性和灵活性
34 表示层设计
以上就是关于有一个“学生-课程”数据库,数据库中包括三个表:全部的内容,包括:有一个“学生-课程”数据库,数据库中包括三个表:、如何建立“学生管理”数据库,并在“学生管理”数据库中分别建立“学生基本情况表”求高手教一下、现在要为学校建立一个学生数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)