数据库系统原理实验
数据库原理与技术实验报告

数据库原理与技术实验报告
一、实验目的
本次实验的主要目的是了解和学习数据库原理与技术,具体要求是:
1.熟悉数据库系统的基本概念;
2.理解数据库管理系统(DBMS)的核心功能;
3.掌握数据库系统的创建,维护和应用技术;
4.掌握基于SQL查询语言(SQL)的SQL语句的使用;
5.学习SQL语言的基本知识;
6.学习和应用数据库的实用技术;
7.掌握数据库的安全保护技术;
8.熟悉数据的事务处理;
9.掌握数据的并发控制等。
二、实验环境
本次实验所使用的系统环境为Oracle Database,版本为11g。
三、实验内容
1.概念部分:
(1)数据库概念:数据库概念主要是指数据库的概念、特点、应用领域、数据库结构与模式等;
(2)数据库管理系统:数据库管理系统(DBMS)是一种综合的数据管理软件,它有助于保护组织内的数据,并帮助实现全面的数据管理;
(3)数据库应用:数据库应用是一种以数据库管理系统为基础的应用程序,它主要是用来收集、组织、存储、操作和检索数据,以满足组织内的信息需要;
(4)SQL查询语言:SQL查询语言(SQL)是一种关系型数据库管理系统的标准化数据库查询语言。
《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。
1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。
数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。
数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。
2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。
(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。
(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。
(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。
(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。
3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。
SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。
SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。
(2) 表名:指定创建的表格的名称。
(3) 列名和数据类型:指定表格中的各列名称和数据类型。
(4) 主键:指定表格中的主键。
(5) 外键:指定表格中的外键。
4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。
数据库系统原理实验报告

数据库系统原理实验报告一、实验目的1.熟悉数据库系统的基本概念和原理;2.掌握数据库系统的基本操作;3.学会使用数据库系统进行数据管理和查询。
二、实验设备1.计算机;2.数据库管理系统软件。
三、实验过程1.创建数据库通过数据库管理系统软件,我们首先需要创建一个新的数据库。
在数据库管理系统软件的界面上,点击“新建数据库”按钮,输入数据库名称、用户名、密码等信息,并确定创建。
2.设计数据表在创建完数据库后,我们需要设计数据表结构。
点击数据库管理系统软件界面上的“表设计”按钮,弹出数据表设计界面。
根据实验需求,在数据表设计界面上添加字段、设置字段类型、设置主键等,最后确定设计。
3.插入数据数据表设计好后,我们需要将数据插入到数据表中。
通过数据库管理系统软件,点击“插入数据”按钮,弹出插入数据界面。
在插入数据界面上,输入要插入的数据信息,点击确定插入。
4.查询数据将数据插入到数据表中后,我们需要查询特定的数据。
通过数据库管理系统软件,点击“查询数据”按钮,弹出查询数据界面。
在查询数据界面上,输入查询条件,点击确定查询。
系统将会返回符合条件的数据。
五、实验结果通过以上实验步骤,我们成功地创建了一个新的数据库,设计了数据表结构,并将数据插入到数据库中。
同时,我们还可以通过数据库管理系统软件查询数据并获取到结果。
这些实验结果表明我们对数据库系统的基本操作具有熟练掌握的能力。
六、实验总结通过本次实验,我们深入了解了数据库系统的基本概念和原理,掌握了数据库系统的基本操作方法,并成功地应用到实际数据管理和查询中。
通过实验,我们意识到数据库系统在现代信息管理中的重要性,并且清楚地了解到数据库系统的优势和应用场景。
通过进一步的学习和实践,我们相信我们可以更加熟练地应用数据库系统,并将其应用到实际工作中。
《数据库系统原理》实验指导书

《数据库系统原理》实验指导书《数据库系统原理》实验指导书实验1 熟悉SQL Server 2000环境及数据库⽂件管理⼀、实验⽬的1、掌握登录SQL Server 2000的⽅法,熟悉SQL Server实⽤⼯具的使⽤;2、了解SQL Serve数据库的存储结构,掌握估算数据库⼤⼩技术;3、掌握创建数据库技术,掌握扩⼤和压缩数据库技术;4、掌握使⽤企业管理器⼯具和T-SQL语句及系统存储过程对数据库进⾏管理。
⼆、实验要求1、熟悉SQL Server 2000的⼯作环境,了解SQL Server主要管理⼯具的⽤途和使⽤⽅法。
2、掌握在SQL Server 2000环境下,利⽤企业管理器和T-SQL语⾔创建和管理数据库的⽅法。
三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中⽂版四、实验原理、⽅法上机操作五、实验步骤及内容(⼀)实验步骤1、教师讲授2、教师演⽰3、学⽣实际操作(⼆)实验内容1、熟悉SQL Server 2000管理⼯具(1)企业管理器(Enterprise Manager)(2)查询分析器(Query Analyzer)(3)服务管理器(Service Manager)(4)事件探查器(Profiler)(5)导⼊和导出数据(Import and Export Data)(6)SQL Server其他管理⼯具2、数据库⽂件管理(1)数据库的创建和删除。
①在企业管理器中建⽴⼀个图书读者库。
图书读者数据库中将包括⼀个数据⽂件和⼀个⽇志⽂件,各⽂件的属性见表1-1。
②删除上题所建的数据库然后⽤T-SQL语句重新创建。
(2)修改数据库①查看图书读者数据库的属性及数据⽂件和⽇志⽂件的空间使⽤情况。
②在企业管理器中,⾸先扩⼤图书读者数据库的主数据⽂件的⼤⼩,然后查看扩⼤后的数据库属性,接着收缩主数据⽂件到定义时的⼤⼩。
数据库原理及应用实验教案

数据库原理及应用实验教案一、实验目的1. 理解数据库的基本概念,掌握数据库的基本操作。
2. 熟悉数据库管理系统,了解数据库设计原则。
3. 学会使用SQL语言进行数据的增、删、改、查等操作。
4. 掌握数据库的索引、视图和存储过程等高级功能。
5. 培养实际操作数据库的能力,提高解决实际问题的技能。
二、实验内容1. 数据库的创建与管理创建新数据库打开现有数据库数据库的备份与恢复2. 表的创建与管理表的创建表结构的修改表的删除表的数据插入、删除和修改3. SQL语言基础数据定义语句(CREATE、ALTER、DROP)数据查询语句(SELECT)数据操纵语句(INSERT、UPDATE、DELETE)数据控制语句(GRANT、REVOKE)4. 索引与约束索引的创建、修改和删除主键、外键的设置与维护唯一约束和检查约束的设置5. 视图与存储过程视图的创建、修改和删除存储过程的创建、修改和删除存储过程的调用三、实验环境1. 硬件环境:计算机实验室,每台计算机配备数据库管理系统软件。
2. 软件环境:数据库管理系统软件(如MySQL、Oracle、SQL Server 等),编程语言环境(如Python、Java等),文本编辑器或集成开发环境(如Visual Studio Code、Eclipse等)。
四、实验步骤1. 实验准备:安装并配置数据库管理系统软件,了解实验内容和要求。
2. 实验一:数据库的创建与管理创建一个名为“实验数据库”的新数据库。
打开已存在的数据库,进行备份和恢复操作。
3. 实验二:表的创建与管理创建一个名为“学生”的表,包括学号、姓名、年龄、性别等字段。
插入、删除和修改表中的数据。
4. 实验三:SQL语言基础使用SELECT语句查询学生表中的数据。
使用INSERT、UPDATE和DELETE语句操作学生表数据。
5. 实验四:索引与约束为学生表的学号字段创建索引。
设置主键、外键、唯一约束和检查约束。
数据库原理综合实验报告

实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。
以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。
(2)对前面章节所学的知识加以综合应用。
2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。
(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。
完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。
-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。
(3)设计数据库概念模型,画出E-R图。
2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。
-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。
2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。
2.4 装载数据(1)收集真实数据或者生成模拟数据。
(2)批量加载数据到数据库中。
(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。
3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。
(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。
(3)要设计良好的数据库完整性约束。
(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。
学生需要有学号、姓名、性别、年龄、专业等信息。
选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。
数据库原理及应用实验教案

数据库原理及应用实验教案第一章:数据库基础1.1 实验目的了解数据库的基本概念掌握数据库的基本操作1.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具1.3 实验内容实验一:创建数据库和表学习使用数据库管理系统的命令行工具或图形界面工具创建数据库学习使用SQL语句创建表实验二:数据库的简单操作学习使用SQL语句进行数据的插入、查询、更新和删除操作第二章:数据库设计2.1 实验目的掌握数据库设计的基本步骤和方法学会使用实体-关系模型设计数据库2.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具2.3 实验内容实验三:实体-关系模型设计学习实体-关系模型的基本概念和表示方法根据给定的需求设计实体-关系模型实验四:将实体-关系模型转换为数据库模式学习将实体-关系模型转换为数据库模式的方法将设计的实体-关系模型转换为数据库模式第三章:SQL语言3.1 实验目的掌握SQL语言的基本操作学会使用SQL语言进行数据库的创建、查询和更新操作3.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具3.3 实验内容实验五:SQL语言的基本操作学习使用SQL语言创建数据库、表、视图和索引学习使用SQL语言进行数据的插入、查询、更新和删除操作第四章:数据库的安全与保护4.1 实验目的了解数据库的安全与保护的基本概念和方法学会使用数据库管理系统的权限管理和备份恢复功能4.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具4.3 实验内容实验六:数据库的权限管理学习使用数据库管理系统的权限管理功能,创建用户和角色,分配权限实验七:数据库的备份与恢复学习使用数据库管理系统的备份与恢复功能,进行数据库的备份和恢复操作第五章:数据库应用系统设计与实现5.1 实验目的掌握数据库应用系统的设计与实现的基本步骤和方法学会使用数据库管理系统进行应用程序的开发5.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具编程语言环境和开发工具(如Java、Python或C等)5.3 实验内容实验八:数据库应用系统的设计与实现学习使用数据库管理系统进行应用程序的连接、查询和更新操作实验九:实现简单的数据库应用功能使用编程语言环境和开发工具,实现用户登录、数据查询和数据增删改等功能实验十:测试与优化数据库应用系统对实现的数据库应用系统进行测试和优化,确保系统的稳定性和性能第六章:数据库性能优化6.1 实验目的学习数据库性能优化的基本策略和方法。
数据库原理实验教案

数据库原理实验教案一、实验目的与要求1. 实验目的(1)了解数据库的基本概念和原理;(2)掌握数据库的创建、操作和管理方法;(3)培养实际操作数据库的能力。
2. 实验要求(1)熟悉计算机操作系统和数据库管理系统;(2)了解SQL语言的基本用法;(3)具备一定的编程基础。
二、实验环境与工具1. 实验环境(1)操作系统:Windows 10;(2)数据库管理系统:MySQL 8.0;(3)编程语言:Python 3.8。
2. 实验工具(1)MySQL数据库客户端;(2)Python编程环境;(3)文本编辑器或集成开发环境(IDE)。
三、实验内容与步骤1. 实验内容(1)创建数据库和表;(2)插入、查询、更新和删除数据;(3)数据库备份与恢复;(4)数据库安全与权限管理;(5)使用Python编程语言操作数据库。
2. 实验步骤(1)打开MySQL客户端,连接到数据库服务器;(2)创建数据库和表,定义字段和约束;(3)使用SQL语句插入、查询、更新和删除数据;(4)进行数据库备份和恢复操作;(5)设置数据库用户权限和安全策略;(6)使用Python编程语言连接数据库,实现数据操作。
四、实验注意事项1. 实验过程中,要严格遵守实验室规定,保持安静,爱护设备;2. 实验操作前,仔细阅读实验指导书,确保掌握实验内容;3. 遇到问题,应及时请教老师或同学,共同探讨解决方法;五、实验评价与反馈1. 实验评价(1)数据库创建和表设计的合理性;(2)SQL语句的正确性和效率;(3)Python编程语言操作数据库的能力;(4)实验报告的完整性、准确性和条理性。
2. 实验反馈(2)同学互评:相互评价,相互学习,共同进步;(3)教师评价:对学生的实验成果进行点评,给予指导和建议。
六、实验案例与分析1. 案例一:创建学生信息管理系统(1)设计数据库和表结构;(2)使用SQL语句实现数据的插入、查询、更新和删除;(3)编写Python程序操作学生信息管理系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3)双击创建的实体符号,打开图1-2所示窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。
图1-2
4)添加实体属性:上述窗口的“Attributes”选项标签可以添加属性,如图1-3所示。
图1-3
其中:P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,即该列是否为空值。
图1-6
如果联系具有属性则使用association Link工具。
7)验证CDM的正确性
toolsCheckModel,打开图1-7所示窗口,选择要检测的内容,单击确定。检查结果包括警告和错误,警告不影响生成PDM(物理模型),有错误则不能生成PDM。
图1-7
实验二学籍管理逻辑结构和物理结构设计
1、实验目的
参考:
Create procedure p_averagescore @trem varchar(11) --入口参数:学期
As
Begin
Declare @cno varchar(5) --课程编号
Declare @clname varchar(30) --班级名称
Declare @clno varchar(6) --班级编号
--根据班级平均成绩判断该班的成绩是否登记,如果平均成绩>0,则计算每名学生的平均成绩
If @avgscore>0
Begin
Print @term+’学期’+@clname+’各门课程总平均成绩为’+str(@avgscore,5,1)
--每个学生的平均成绩和获得的学分
Print‘该班每个学生的平均成绩如下:’
end
实验五存储过程设计
1、实验目的
熟练掌握存储过程的编写、调试与使用方法。
2、实验内容
1)编写汇总平均成绩的存储过程,实现自动汇总某学期各班平均成绩、每个同学的平均成绩及所获得学分。
3、实验步骤
1)汇总平均成绩的存储过程
入口参数:学期
算法:建立班级的游标,使用循环结构,根据班级编号中的入学年份和入口参数(如“2010-2011-1”表示的学期),通过学期转换函数,使用选课表、课程表、班级表和学生表查询班级在本学期开设的所有课程的平均成绩。如果平均成绩是0,说明本班所有课程成绩没有登记;否则汇总本班级每个学生在本学期的所有课程平均成绩。处理完一个班级后,通过游标处理下一个班级。
《数据库系统原理》实验指导
信息管理系
2010.9
背景知识介绍
学籍管理是学校管理中一项繁琐的工作,管理人员需要建立学生的学籍,汇总每学期没有拿到规定学分的学生以及这些学生的详细情况;学生完成一门课程的学习后,教师需要录入学生的考试成绩,计算平均成绩、汇总各分数段的人数,学生需要查询已结业的各门课程的成绩;班主任需要查询本班学生学习情况,包括各门课程的平均成绩和每个学生的考试通过情况,为此,设计一套实用的学籍管理系统就可以大大简化管理人员、班主任和任课教师的工作,方便学生查询自己的学习情况。该系统主要实现的功能如表1所示。
入口参数:成绩和课程学分。
返回值:应得学分。
参考:
Create function creditconvert(@score numeric(3,1),@ccredits numeric(3,1) )
--@score:考试成绩
--@numeric课程规定学分
Returns numeric(5,2) --应得学分
2)设计用户自模式(视图)。
为学籍管理人员建立如下子模式:
学生基本情况(学号,姓名,性别,班级,学院,获取总学分)
为学生建立如下子模式:
考试通过基本情况(学号,姓名,班级,课程名称,成绩)
为教师建立如下子模式:
选修学生情况(课程编号,学号,姓名,班级,学院,平均成绩)
授课效果(课程编号,选修学期,平均成绩)
1)选择filenew modelConceptualDataModel,建立CDM模型(即概念数据模型)。
2)创建实体,在CDM的图形窗口中,单击设计元素面板上Entity工具(实体),再单击图形窗口的空白处,在单击的位置就出现一个实体符号。点击Pointer工具或右击鼠标,释放Entitiy工具。如图1-1所示。
1)熟练掌握E-R图转换为关系模式的方法
2)掌握使用PowerDesigner将CDM转化为PDM的方法
3)掌握设计视图的方法
2、实验内容
1)PowerDesigner中的PDM可以描述逻辑结构和物理结构,选择SQL Server 2000为DBMS,使用PowerDesigner进行学籍管理PDM的设计。两种方法可以实现,一种方法是直接使用PDM设计元素进行设计,另一种方法是直接将CDM转换为PDM。
3、实验步骤:
1)toolsGenerate Physical Data Model。如图2-1所示。从DBMS下拉列表框选择Microsoft SQL Server 2000,选择Share单选按钮,单击OK即可。
图2-1
2)创建视图
从设计元素面板上选择视图(view),在设计区创建一个视图,双击该视图,进入如图2-2所示界面,创建视图一般需要设置“General”选项卡中的属性和图2-3所示“SQL Query”选项卡中的SQL语句。
Open class_cursor
Fetch next from class_cursor into@clname, @clno , @cterm
While @@fetch_status=0
Begin
Set @avgscore=(select isnull(avg(score),0) from sc a,student b,class c,course d where a.sno=b.sno and b.clno=c.clno and b.clno=@clno and o=o and d.cterm=@cterm)
Declare @avgscore numeric(10,2) --平均成绩
Declare @cterm int --学期
--定义班级游标
Declare class_cursor cursor for select clname,clno,dbo.termconvert(@term,clno) from class where dbo.termconvert(@term,clno)<=8 --过滤掉已经毕业的班级
Select e.sname,d.avgscore,totalcredit from
3)通过控制面板管理工具中的ODBC数据源先创建好数据源,然后Database->connect,如图3-2所示,下拉列表中选择创建好的数据源名称,单击connect。
图3-2
4)Database->execute SQL,如图3-3所示。
图3-3
打开要执行的脚本文件,单击run即可。
5)产生测试数据。Database->generate test data。
5)设置检查约束
如果需要给某些属性设置检查约束,首先选中某属性,然后鼠标点击图1-4红色矩形框所示按钮,或者双击属性,打开对话框,选Standard Checks标签,如图1-5所示。
图1-4
图1-5
在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如表2所示。
表2 对话框中参数的含义
图2-2
图2-3
实验三学籍管理数据库实施
1、实验目的
1)熟练掌握数据库实施的内容。
2)使用PowerDesigner生成数据库脚本并自动创建数据库,熟练掌握利用PowerDesigner进行数据库实施的方法。
2、实验内容
使用PowerDesigner生成学籍管理数据库及其对象的创建脚本并自动创建数据库,进行学籍管理数据库实施。
List Of Values
属性赋值列表,除列表中的值,不能有其他的值
Label
属性列表值的标签
6)建立联系:在图形窗口中创建两个实体后,单击Relationship工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体之间创建了联系,右键单击图形窗口,释放工具。双击联系图标,打开窗口如图1-6所示。
实验四学分学期转换函数设计
1、实验目的
通过韩式的编写与调试,熟练掌握SQL函数的编写、调试与使用方法。
2、实验内容
1)编写学分转换函数,将考试成绩转换为学分。
2)编写学期转换函数。
3、实验步骤
1)学分转换函数
功能要求:在学籍管理中,根据学生选修课程的成绩,查询所获得学分情况。如果成绩大于等于60,则可以获得该课程的学分,否则所得学分为0。
3、实验步骤
1)选择Database-> Generate Database。如图3-1所示。设置directory和filename,单击确定。
图3-1
2)执行脚本,生成数据库对象。首先启动SQL Server2000,建立数据库。PowerDesigner提供两种方法执行脚本,一种是在SQL Server2000中手工执行脚本,生成数据库对象,还有一种是通过ODBC连接数据库口自动执行。前一种方法很简单,我们重点说一下后一种方法。
入口参数:学年和入学年份
返回值:数字表示的学期。
参考:
Create function termconvert(@trem char(11),@clno char(6) )
--@trem:学年
--@clno:班级编号
Returns int --在校第几学期
As
Begin return(convert( numeric,substring(@trem,1,4))-convert( numeric,’20’+substring(@clno,1,2)))*2+convert( numeric,substring(@trem,11,1))