《sql---教学反馈系统-阶段项目1》
--修改列
--把 "Address" 栏位改名为 "Addr"。这可以用以下的指令达成:
--ALTER table customer change Address Addr char(50) ------------------------------------------------------------------------
--1 通过给定的数据库表结构关系图和表格中定义的规范,创建数据库数据表
--a) 创建数据库
-- 使用T-SQL创建数据库feedback,要求:
--①一个主要文件(存放在第一个硬盘分区C:\project文件夹下),初始大小为10M,最大为200M,文件自动增长率为15%
--②一个次要数据文件(分别存放在第二个硬盘分区D上)
--③一个日志文件(存放在第三个硬盘分区E:上)
--④检查数据库是否已存在,如果存在则先删除
--提示:使用xp_cmdshell调用DOS命令创建文件夹;
--使用exists判断数据库是否存在 ------------------------------------------------------------------------
-- 创建文件夹
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO
-- 调用DOS命令创建project文件夹
EXEC xp_cmdshell 'mkdir c:\project'
GO -- 判断是否存在该数据库,若存在则删除
USE master
GO
IF EXISTS (SELECT * FROM sysdatabases WHERE NAME='feedback')
DROP DATABASE feedback;
GO --根据要求创建数据库
USE master
GO
CREATE DATABASE feedback
ON PRIMARY
(
NAME = feedback_data,
FILENAME = 'C:\project\feedback.mdf',
SIZE = 10MB,
MAXSIZE = 200MB,
FILEGROWTH = 15%
),
(
NAME = feedback_data1,
FILENAME = 'd:\feedback.ndf'
)
LOG ON
(
NAME = feedback_log,
FILENAME = 'e:\feedback.ldf'
)
GO ------------------创建表----------------------
--1创建 人员类型表
USE feedback
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='usertype')
DROP TABLE usertype
GO
CREATE TABLE usertype
(
usertypeid INT IDENTITY(1,1) PRIMARY KEY,
utypename VARCHAR(20) NOT NULL UNIQUE
--CONSTRAINT FK_feedback FOREIGN KEY (username)
) --2创建 考核方式类型表
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='methodtype')
DROP TABLE methodtype
GO
CREATE TABLE methodtype
(
methodtypeid INT IDENTITY(1,1) PRIMARY KEY,
typename VARCHAR(20) NOT NULL UNIQUE,
description VARCHAR(100)
) --3创建 考核项表
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='item')
DROP TABLE item
GO
CREATE TABLE item
(
itemid INT IDENTITY(1,1) PRIMARY KEY,
itemname VARCHAR(60) NOT NULL UNIQUE,
methodtypeid INT NOT NULL REFERENCES methodtype(methodtypeid),
usertypeid INT NOT NULL REFERENCES usertype(usertypeid)
) --4建立 反馈模板表
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='template')
DROP TABLE template
GO
CREATE TABLE template
(
templateid INT IDENTITY(1,1) PRIMARY KEY,
templatename VARCHAR(30) NOT NULL UNIQUE,
status INT NOT NULL DEFAULT 0,
usertypeid INT NOT NULL REFERENCES usertype(usertypeid)
)
--修改表的列
/*
SELECT * FROM template
ALTER TABLE template DROP CONSTRAINT CK_status
ALTER TABLE template DROP COLUMN status
ALTER TABLE template ADD status INT NOT NULL DEFAULT 0
*/
--添加约束 CHECK 0正常(默认) 1删除
ALTER TABLE template
ADD CONSTRAINT CK_status CHECK(status in (0,1)) --5建立 反馈模板与考核项关联表
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='templateanditem')
DROP TABLE templateanditem
GO
CREATE TABLE templateanditem
(
id INT IDENTITY(1,1) PRIMARY KEY,
templateid INT NOT NULL REFERENCES template(templateid), --与考核项编号一起唯一
itemid INT NOT NULL REFERENCES item(itemid) --与考核项编号一起唯一
)
ALTER TABLE templateanditem
ADD CONSTRAINT UK_templateid_itemid UNIQUE(templateid,itemid) /*
2人员类型表的增/删/改
a) 使用T-SQL向人员类型表中插入4条测试数据(①教员、②班主任、③机房维护员、④教务人员)
b) 使用T-SQL删除人员类型表中的“教务人员”
c) 使用T-SQL修改人员类型表中的数据,将“机房维护员”改为“机房管理员”
*/ --a) 使用T-SQL向人员类型表中插入4条测试数据(①教员、②班主任、③机房维护员、④教务人员)
INSERT INTO usertype (utypename) VALUES ('教员')
INSERT INTO usertype (utypename) VALUES ('班主任')
INSERT INTO usertype (utypename) VALUES ('机房维护员')
INSERT INTO usertype (utypename) VALUES ('教务人员')
GO
--查询 usertype 表内数据
SELECT * FROM usertype --b) 使用T-SQL删除人员类型表中的“教务人员”
DELETE usertype WHERE utypename='教务人员' --c) 使用T-SQL修改人员类型表中的数据,将“机房维护员”改为“机房管理员”
UPDATE usertype SET utypename='机房管理员' WHERE utypename='机房维护员'
GO
/*
3考核方式类型表的增加
a) 使用T-SQL向考核方式类型表中插入2条测试数据
(①按回答评定、②按分数评定/评价标准:5分[优秀] 4分[良好] 3分[一般] 2分[差] 1分[很差])
*/
--查询数据
SELECT * FROM methodtype INSERT INTO methodtype (typename,description) VALUES ('answer','按回答评定')
INSERT INTO methodtype (typename,description) VALUES ('sorce','按分数评定/评价标准:5分[优秀] 4分[良好] 3分[一般] 2分[差] 1分[很差]')
GO
/*
4考核项的增加
a) 使用T-SQL向考核项表中插入10条测试数据
(数据由学员根据现实自己模拟,适用于教员的5条,其中2条按回答评定;
适用于班主任的3条;适用于机房管理员的2条)
*/
SELECT * FROM item --查出考核方式的编号
SELECT methodtypeid FROM methodtype WHERE typename='answer' --> 1
SELECT methodtypeid FROM methodtype WHERE typename='sorce' --> 2 --(1).适用于教员的5条,其中2条按回答评定 --查出教员的类型编号即usertypeid
SELECT usertypeid FROM usertype WHERE utypename='教员' --> 1 INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('对该教员有什么建议?',1,1)
INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('该教员哪方面对你有帮助?',1,1) INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('讲课是否活跃?',2,1)
INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('内容是否详细?',2,1)
INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('是否热心帮助同学?',2,1) --删除某项
/*
DELETE item WHERE itemname='上课是否准时?'
DELETE item WHERE itemname='课前是否备课?'
DELETE item WHERE itemname='讲课是否活跃?'
DELETE item WHERE itemname='内容是否详细?'
DELETE item WHERE itemname='是否热心帮助同学?'
*/
GO
--(2).适用于班主任的3条
SELECT * FROM usertype SELECT usertypeid FROM usertype WHERE utypename='班主任' --> 2 INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('感觉班主任哪些方面需要改进',1,2) INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('是否经常开班会?',2,2)
INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('是否关心班级的相关事情?',2,2)
GO
--(3).适用于机房管理员的2条
SELECT usertypeid FROM usertype WHERE utypename='机房管理员' --> 3 INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('对该管理的服务态度有什么建议?',1,3) INSERT INTO item (itemname,methodtypeid,usertypeid) VALUES ('对该管理员的态度打多少分?',2,3)
GO
/*
5考核模板的增加/修改/删除
a) 使用T-SQL向考核模板表中插入3条适用于教员、
1条适用于班主任、1条适用于机房管理员的测试数据(数据由学员根据现实自己模拟)
b) 使用T-SQL修改考核模板表中适用于教员的任1条测试数据,
要求必须修改模板名称和调整模板中包含的考核项
c) 使用T-SQL删除考核模板表中适用于教员的任1条测试数据
*/ --a) 使用T-SQL向考核模板表中插入3条适用于教员、
--1条适用于班主任、1条适用于机房管理员的测试数据 SELECT * FROM template
SELECT * FROM item SELECT usertypeid FROM usertype WHERE utypename='教员' --> 1
SELECT usertypeid FROM usertype WHERE utypename='班主任' --> 2
SELECT usertypeid FROM usertype WHERE utypename='机房管理员' --> 3 INSERT INTO template (templatename, usertypeid) VALUES ('理论课评定', 1)
INSERT INTO template (templatename, usertypeid) VALUES ('毕业设计课评定', 1)
INSERT INTO template (templatename, usertypeid) VALUES ('上课情况评定', 1)
INSERT INTO template (templatename, usertypeid) VALUES ('班主任代班工作的调查', 2)
INSERT INTO template (templatename, usertypeid) VALUES ('机房管理工作的调查', 3)
GO --关联数据
SELECT templateid FROM template WHERE templatename='理论课评定' --> 1
SELECT templateid FROM template WHERE templatename='毕业设计课评定' --> 2
SELECT templateid FROM template WHERE templatename='上课情况评定' --> 3
SELECT templateid FROM template WHERE templatename='班主任代班工作的调查' --> 4
SELECT templateid FROM template WHERE templatename='机房管理工作的调查' --> 5 INSERT INTO templateanditem (templateid, itemid) VALUES (1, 1)
INSERT INTO templateanditem (templateid, itemid) VALUES (1, 2)
INSERT INTO templateanditem (templateid, itemid) VALUES (1, 3)
INSERT INTO templateanditem (templateid, itemid) VALUES (1, 4)
INSERT INTO templateanditem (templateid, itemid) VALUES (1, 5)
INSERT INTO templateanditem (templateid, itemid) VALUES (2, 2)
INSERT INTO templateanditem (templateid, itemid) VALUES (3, 3)
INSERT INTO templateanditem (templateid, itemid) VALUES (4, 6)
INSERT INTO templateanditem (templateid, itemid) VALUES (4, 7)
INSERT INTO templateanditem (templateid, itemid) VALUES (4, 8)
INSERT INTO templateanditem (templateid, itemid) VALUES (5, 9)
INSERT INTO templateanditem (templateid, itemid) VALUES (5, 10)
GO
DELETE templateanditem WHERE id = 11 or id = 12 GO
--b) 使用T-SQL修改考核模板表中适用于教员的任1条测试数据,
--要求必须修改模板名称
UPDATE template SET templatename = '理论课的评定' WHERE templatename = '理论课评定'
GO SELECT * FROM template --c) 使用T-SQL删除考核模板表中适用于教员的任1条测试数据 --先删除关联数据
--SELECT templateid FROM template WHERE usertypeid = (SELECT usertypeid FROM usertype WHERE utypename = '教员')
SELECT * FROM template WHERE usertypeid = (SELECT usertypeid FROM usertype WHERE utypename = '教员')
--DELETE templateanditem WHERE templateid = (...) UPDATE template SET status = 1 WHERE templateid = 1 /*
6考核模板的综合查询
a) 使用T-SQL查询适用于教员和班主任的考核模板,要求显示格式如下图所示:
提示:使用子查询、IN…、CASE…WHEN…THEN…
b) 使用T-SQL查询所有正常状态的考核模板及其包含的考核项,没有考核项则显示”无考核项”,要求显示格式如下图所示:
提示:使用子查询、CASE…WHEN…THEN…
*/ --a) 使用T-SQL查询适用于教员和班主任的考核模板,要求显示格式如下图所示:
--提示:使用子查询、IN…、CASE…WHEN…THEN… SELECT * FROM template
SELECT * FROM usertype SELECT templatename AS '模板名称', utypename AS '适用人员类型',
(CASE status
WHEN 0 THEN '正常'
WHEN 1 THEN '已删除'
END) AS '状态'
FROM template, usertype WHERE template.usertypeid = usertype.usertypeid --b) 使用T-SQL查询所有正常状态的考核模板及其包含的考核项,没有考核项则显示”无考核项”,要求显示格式如下图所示:
--提示:使用子查询、CASE…WHEN…THEN… SELECT * FROM template
SELECT * FROM usertype
SELECT * FROM item
SELECT * FROM templateanditem SELECT templatename AS '模板名称',uypename AS '适用人员类型',(
CASE
WHEN itemname is null THEN '无考核项'
when itemname is not null THEN itemname
END
) AS '考核项'
FROM template left join templateanditem
ON template.templateid=templateanditem.templateid
left join item
ON templateanditem.itemid=item.itemid
left join usertype
ON template.usertypeid=usertype.usertypeid
WHERE status = 0
教学反馈系统-阶段项目1
第一部分 案例描述
案例目的
学习T-SQL基本概念、实体模型、ER图技术,建库、建表、基本增删改查,复杂查询(条件、关联、复合),培养学生关于数据库的设计能力与T-SQL编码能力。
案例难度
★★★
案例覆盖技能点
1、 T-SQL基本概念
2、 ER图技术
1) 能够看懂数据库ER图、表结构关系图
3、 建库、建表、基本增删改查等T-SQL技术
1) 根据E-R图使用T-SQL语句建库、建表
2) 对数据库进行增删改查
4、 高级查询技术
1) 会使用 IN,NOTIN,EXISTS,NOT EXISTS关键字
2) 会使用CASE…WHEN…THEN…
3) 会使用关联查询
4) 会使用子查询
推荐案例完成时间
0.5天
适用课程和对象
SQLSERVER数据库基本技术
第二部分 需求和开发环境
使用技术和开发环境
SQLServer 2005
项目背景
中国经济数年来持续高增长带来了专业性职业人才的需求激增,职业教育作用日益显现,优秀企业也孕育而生。他们的作用不仅仅为社会培养了专业人才,在产业经营领域,他们也扮演了重要的角色。改革开放以来,随着中国经济社会的发展,职业教育越来越受到国家的高度重视和社会的广泛关注。随着经济社会的发展,中国的职业教育取得了长足的发展,在职业教育理念的实践群体中,若想更好地成为佼佼者,无疑是在在规模化发展中保障教学质量是其中一个比较重要的方面。
案例需求
教学质量是学校生存与发展的生命线,不断提高课堂教学水平是学校和每一位教师的共同心愿。及时了解课堂教学的主体—学生对教学情况的评价及建议,有利于教师发现自己教学中的优点以及不足,从而进一步改进教学方法,提高教学水平。为了更好的提高教学水平,建立学校与学员的更好勾通,院领导研究决定研发本系统,并提供考核内容管理、反馈项目管理、反馈表管理、数据统计分析等主要功能,本阶段案例主要以考核内容管理为主要分析目标,详细功能描述如下:
1、 考核内容管理
a) 考核项设置
根据学院内部人员类型(讲师/班主任/机房维护员,等学院内部工作项)分别进行考核项的管理和维护,包括对考核项的添加、修改、删除、查看、批量删除。考核项的详细信息包括:考核内容编号、考核项内容、考核方式(按分数评定/按回答评定)、人员类型。
考核内容列表
添加考核内容
b) 反馈模板设置
对学院内部反馈模板进行管理和维护,包括对反馈模板的添加、修改、删除、查看、批量删除。反馈模板的详细信息包括:反馈模板编号、反馈模板名称、被评价人类型、多项考核内容。
反馈模板列表
添加反馈模板
系统基本模块包括:
功能点 |
难度 |
|
数据库与表的建立 |
★★ |
|
人员类型表的增/删/改 |
★★ |
|
考核方式类型表的增加 |
★ |
|
考核项的增加 |
★ |
|
考核模板的增加/修改/删除 |
★★★ |
|
考核模板的综合查询 |
★★★★ |
功能点介绍
数据库表结构关系图
表1 人员类型表
表名 |
usertype (人员类型表) |
|||
列名 |
描述 |
数据类型 |
空/非空 |
约束条件 |
usertypeid |
类型编号 |
int |
非空 |
主键,标识列 |
utypename |
类型名称 |
Varchar(20) |
非空 |
唯一 |
表2 考核方式类型表
表名 |
methodtype (考核方式表) |
|||
列名 |
描述 |
数据类型 |
空/非空 |
约束条件 |
methodtypeid |
考核方式编号 |
int |
非空 |
主键,标识列 |
typename |
考核方式名称 |
Varchar(20) |
非空 |
唯一 |
description |
描述 |
Varchar(100) |
表3 考核项表
表名 |
item (考核项表) |
|||
列名 |
描述 |
数据类型 |
空/非空 |
约束条件 |
itemid |
考核项编号 |
int |
非空 |
主键,标识列 |
itemname |
考核项名称 |
Varchar(60) |
非空 |
唯一 |
methodtypeid |
考核方式编号 |
int |
非空 |
外键 |
usertypeid |
适用人员类型编号 |
int |
非空 |
外键 |
表4 反馈模板表
表名 |
template (反馈模板表) |
|||
列名 |
描述 |
数据类型 |
空/非空 |
约束条件 |
templateid |
模板编号 |
int |
非空 |
主键,标识列 |
templatename |
模板名称 |
Varchar(30) |
非空 |
唯一 |
status |
状态 |
int |
非空 |
0-正常(默认值) 1-删除 |
usertypeid |
适用人员类型编号 |
int |
非空 |
外键 |
表5 反馈模板与考核项关联表
表名 |
templateanditem (反馈模板与考核项关联表) |
|||
列名 |
描述 |
数据类型 |
空/非空 |
约束条件 |
id |
编号 |
int |
非空 |
主键,标识列 |
templateid |
模板编号 |
int |
非空 |
外键 与考核项编号一起,唯一 |
itemid |
考核项编号 |
int |
非空 |
外键 与模板编号一起,唯一 |
1 通过给定的数据库表结构关系图和表格中定义的规范,创建数据库数据表
a) 创建数据库
使用T-SQL创建数据库feedback,要求:①一个主要文件(存放在第一个硬盘分区C:\project文件夹下),初始大小为10M,最大为200M,文件自动增长率为15% ②一个次要数据文件(分别存放在第二个硬盘分区D上) ③一个日志文件(存放在第三个硬盘分区E:上) ④检查数据库是否已存在,如果存在则先删除
提示:使用xp_cmdshell调用DOS命令创建文件夹;
使用exists判断数据库是否存在
b) 创建数据表
使用T-SQL分别创建如下几个表:①人员类型表 ②考核方式类型表 ③考核项表④反馈模板表 ⑤考核项和反馈模板关联表。要求:检查数据表是否已存在,如果存在则先删除表结构
c) 添加约束
根据ER图及表结构规范说明,使用T-SQL向各表添加约束,具体要求如下:
ü 所有名称不允许为空,并且唯一
ü 反馈模板状态, 0-正常(默认值)、1-删除
ü 根据ER图,创建外键
提示:使用Alter Table…… Add Constraint……
2人员类型表的增/删/改
a) 使用T-SQL向人员类型表中插入4条测试数据(①教员、②班主任、③机房维护员、④教务人员)
b) 使用T-SQL删除人员类型表中的“教务人员”
c) 使用T-SQL修改人员类型表中的数据,将“机房维护员”改为“机房管理员”
3考核方式类型表的增加
a) 使用T-SQL向考核方式类型表中插入2条测试数据(①按回答评定、②按分数评定/评价标准:5分[优秀] 4分[良好] 3分[一般] 2分[差] 1分[很差])
4考核项的增加
a) 使用T-SQL向考核项表中插入10条测试数据(数据由学员根据现实自己模拟,适用于教员的5条,其中2条按回答评定;适用于班主任的3条;适用于机房管理员的2条)
5考核模板的增加/修改/删除
a) 使用T-SQL向考核模板表中插入3条适用于教员、1条适用于班主任、1条适用于机房管理员的测试数据(数据由学员根据现实自己模拟)
b) 使用T-SQL修改考核模板表中适用于教员的任1条测试数据,要求必须修改模板名称
c) 使用T-SQL删除考核模板表中适用于教员的任1条测试数据
6考核模板的综合查询
a) 使用T-SQL查询适用于教员和班主任的考核模板,要求显示格式如下图所示:
提示:使用子查询、IN…、CASE…WHEN…THEN…
b) 使用T-SQL查询所有正常状态的考核模板及其包含的考核项,没有考核项则显示”无考核项”,要求显示格式如下图所示:
提示:使用多表联接查询、CASE…WHEN…THEN…
第三部分 考核评价点
序号 |
功能列表 |
功能描述 |
分数 |
说明 |
1 |
正确设计数据库/数据表,添加约束 |
根据题目要求正确创建数据库、数据库,并正确添加所有约束 |
20 |
必做 |
2 |
人员类型表的增/删/改 |
正确对人员类型表中的数据进行添加、修改和删除功能 |
10 |
必做 |
3 |
考核方式类型表的增加 |
正确对考核方式类型表中的数据进行添加功能 |
5 |
必做 |
4 |
考核项的增加 |
正确对考核项表中的数据进行添加功能 |
5 |
必做 |
5 |
考核模板的增加/修改/删除 |
正确对考核模板表中的数据进行添加、修改和删除功能 |
20 |
必做 |
6 |
考核模板的综合查询 |
根据题目要求及显示格式要求,实现对考核模板等数据的综合查询功能 |
30 |
必做 |
7 |
数据库命名规范 |
数据库中的表名,列名,都要符合规范要求,不能任意命名 |
10 |
必做 |
《sql---教学反馈系统-阶段项目1》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- c语言,结构体
数据类型分为4种, 简单数据类型,构造数据类型,指针数据类型,空类型. 结构体属于构造数据类型,用struct标识. 声明一个结构体: Typedef struct和struct c c++ typ ...
- 手把手教你安装QT集成开发环境(操作系统为ubuntu10.04)
在安装QT集成开发工具包之前需要先安装build-essential和libncurses5-dev这两个开发工具和库,libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数 ...
- CIconListBox带图标的列表框类
有时候,我们需要在列表框ListBox中插入带图标的文字项,这就需要自己派生一个类出来了,网上的一个CIconListBox类还不错,网站http://www.codeguru.com/Cpp/con ...
- <转载>DIV+CSS position定位方法总结
如何学习DIV+CSS布局之position属性 如果用position来布局页面,父级元素的position属性必须为relative,而定位于父级内部某个位置的元素,最好用 absolute. 任 ...
- english: 遭遇
遭遇 [zāo yù] 1 (碰上: 遇到) meet with; encounter; run up against meet with misfortune; have hard luck 遭遇不 ...
- XML文件解析之--DOM与SAX
xml文件又称‘可扩展性标记语言’,可以对文档和数据进行结构化处理,从而能够在部门.客户和供应商之间进行交换,实现动态内容生成,企业集成和应用开发. 我们在进行web开发的时候离不开xml文件,xml ...
- 零基础数据分析与挖掘R语言实战课程(R语言)
随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况 ...
- 六款常用的linux C/C++ IDE
摘要: 一.AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮助你 ...
- zoj1028-Flip and Shift
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=28 题意:有相互交叉的黑白两种颜色的小球,每一个小球每次可以跳两格:问你是否可以 ...
- Maven 实现Struts2注解配置步骤详解
1,pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...