数据库原理实验报告

合集下载

数据库系统原理实验报告

数据库系统原理实验报告

数据库系统原理实验报告一、实验目的掌握数据库基本操作,熟悉数据库系统的结构和组成部分,了解数据库系统原理二、实验环境操作系统:Windows 10三、实验内容1.创建数据库首先通过命令行或图形界面方式登录数据库系统,创建一个新的数据库。

命令如下:CREATE DATABASE testdb;2.创建数据表在新创建的数据库中,创建一个新的数据表。

表名为student,包含字段id(学号)、name(姓名)、age(年龄)、gender(性别)。

命令如下:USE testdb;CREATE TABLE studentid INT PRIMARY KEY,name VARCHAR(20),age INT,gender VARCHAR(2)3.插入数据向数据表中插入若干条记录。

命令如下:INSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男');INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 22, '女');INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 21, '男');4.查询数据从数据表中查询记录。

命令如下:SELECT * FROM student;5.更新数据更新数据表中的条记录。

命令如下:UPDATE student SET age=23 WHERE id=1;6.删除数据删除数据表中的条记录。

DELETE FROM student WHERE id=2;四、实验结果1.创建数据库成功;2.创建数据表成功;3.插入数据成功;4.查询数据成功;5.更新数据成功;6.删除数据成功。

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。

2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。

3,并且这次实习可以非常好的关心我完成将来的毕业论文。

四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。

然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。

同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。

使我们队公司有了更进一步的了解实习,就是在实践中学习。

经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。

当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。

还有发布了一些关于公司产品的博客,比如新浪,网易。

而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。

经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。

数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。

实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。

虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。

数据库原理实训报告

数据库原理实训报告

数据库原理实训报告一、实验目的本次实训的主要目的是通过实际操作和实践,加深对数据库原理的理解,掌握数据库设计和管理的基本知识和技能。

二、实验内容1.数据库设计:通过实例分析,完成一个简单的数据库设计,包括确定实体、属性和关系,设计ER图。

2.数据库创建与管理:使用数据库管理系统,创建数据库和表,对表进行插入、删除、修改、查询等操作。

3.数据库查询优化:通过调整查询语句的结构和索引等技术手段,提高查询效率。

4.数据库备份与恢复:学习和掌握数据库备份和恢复的基本方法和技术。

三、实验过程1.数据库设计:根据要求,确定了一个简单的学生管理系统的实体、属性和关系,设计了对应的ER图。

2. 数据库创建与管理:使用MySQL数据库管理系统,创建了一个名为“student”的数据库,创建了学生、课程和选课表,并进行了插入、删除、修改、查询等操作。

3.数据库查询优化:通过分析查询语句并根据表的属性和索引情况,调整查询语句的结构和使用合适的索引,提高了查询的效率。

4.数据库备份与恢复:学习了数据库备份和恢复的基本方法和技术,通过使用MySQL的备份和恢复指令,成功进行了数据库的备份和恢复操作。

四、实验结果1.数据库设计:成功设计了一个简单的学生管理系统的ER图,包括学生、课程和选课之间的实体、属性和关系。

2.数据库创建与管理:成功创建了学生、课程和选课表,并能够进行插入、删除、修改、查询等操作。

3.数据库查询优化:通过优化查询语句和使用适当的索引,成功提高了查询的效率。

4.数据库备份与恢复:成功进行了数据库的备份和恢复,保证了数据的安全性和可靠性。

五、实验心得通过这次数据库原理的实训,我深刻地体会到了数据库的重要性和应用价值。

数据库不仅能够方便地存储和管理大量的数据,还能够提供高效的查询和操作功能。

在实际操作中,我学习了数据库设计的基本方法和技巧,掌握了数据库管理系统的使用方法,了解了数据库查询优化和备份恢复的相关知识。

数据库原理实验报告(数据查询)

数据库原理实验报告(数据查询)

数据库原理实验报告实验三数据查询班级:×××姓名:×××学号:×××数据查询一、[实验目的]1.掌握SQL的单表查询操作2.掌握SQL的连接查询操作3.掌握SQL的嵌套查询操作4.掌握SQL的集合查询操作二、[实验内容]本实验的主要内容是:1.简单查询操作。

包括投影、选择条件表达,数据排序,使用临时表等。

2.连接查询操作。

包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。

4.组合查询与统计查询。

(1)分组查询实验。

该实验包括分组条件表达、选择组条件的表达方法。

(2)使用函数查询的实验。

该实验包括统计函数和分组统计函数的使用方法。

(3)组合查询实验。

(4)计算和分组计算查询的实验。

三、[实验方法]1.将查询需求用Transact-SQL语言表示。

2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。

3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。

4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。

5查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。

查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。

图5- 错误!未定义书签。

SQL Server 2000查询分析器查询分析器的界面如图5- 错误!未定义书签。

所示。

在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。

数据库原理实验

数据库原理实验

数据库原理实验数据库原理实验报告1. 实验目的本实验旨在通过实践操作,加深对数据库原理的理解,掌握数据库的基本操作和常用操作,培养数据库设计和管理的能力。

2. 实验环境和工具- 操作系统:Windows 10- 数据库管理系统:MySQL- 编程语言:Python- 开发工具:PyCharm3. 实验内容3.1 数据库的创建和删除在MySQL中创建一个新的数据库,并在实验结束后删除该数据库,以保持实验环境的干净。

3.2 数据表的创建和删除在创建的数据库中,创建一个新的数据表,并设定表的字段(列)和类型,以及主键和外键约束。

在实验结束后,删除该数据表。

3.3 数据的插入和查询在创建的数据表中插入一些测试数据,并进行一些简单的查询操作,如根据条件查询,排序查询等。

3.4 数据的更新和删除修改已存在的数据,并删除不需要的数据,观察数据库的变化,并验证操作的正确性。

4. 实验过程及结果4.1 数据库的创建和删除在MySQL中执行如下SQL语句:CREATE DATABASE IF NOT EXISTS mydatabase;DROP DATABASE IF EXISTS mydatabase;结果:成功创建数据库mydatabase,并成功删除数据库mydatabase。

4.2 数据表的创建和删除在创建的数据库中执行如下SQL语句:USE mydatabase;CREATE TABLE IF NOT EXISTS mytable (id INT PRIMARY KEY,name VARCHAR(50),age INT,address VARCHAR(100));DROP TABLE IF EXISTS mytable;结果:成功创建数据表mytable,并成功删除数据表mytable。

4.3 数据的插入和查询在数据表中执行如下SQL语句:USE mydatabase;INSERT INTO mytable (id, name, age, address) VALUES (1, 'John', 20, '123 Main St');INSERT INTO mytable (id, name, age, address) VALUES (2, 'Amy', 25, '456 Park Ave');INSERT INTO mytable (id, name, age, address) VALUES (3, 'Mike', 30, '789 Broadway');SELECT * FROM mytable WHERE age > 20;结果:成功插入3条测试数据,并成功查询出年龄大于20的记录。

数据库原理及应用实验报告

数据库原理及应用实验报告

数据库原理及应用实验报告一、实验目的通过本次实验,深入理解数据库的原理与应用,掌握数据库的基本操作和常见应用场景。

二、实验内容1.数据库的基本概念与原理:关系型数据库与非关系型数据库的区别,数据库的组成要素,关键概念解释等。

2. 数据库的设计与建模:根据需求设计数据库的ER图,熟悉数据库建模工具的使用,如Eclipse、PowerDesigner等。

3.数据库语言与操作:学习SQL语言,包括数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)等,通过SQL语句对数据库进行增删改查操作。

4.索引的使用与优化:了解数据库索引的原理和作用,学习索引的创建、使用和优化技巧,提高数据库查询性能。

5.数据库的备份与恢复:掌握数据库的备份与恢复的方法,学会使用数据库备份工具进行数据的完整备份和恢复操作。

三、实验步骤1.确定数据库需求,设计ER图。

2.使用数据库建模工具创建数据库表,定义字段和关系。

3.使用SQL语句创建数据库和表结构。

4.插入数据并进行增删改查操作,验证数据库的正常使用。

5.创建索引并对查询语句进行优化,提高查询性能。

6.使用数据库备份工具进行数据备份,测试数据的完整恢复。

四、实验结果与分析本次实验中,我选择了一个简单的学生管理系统作为实验的对象。

首先,根据需求设计了ER图,确定了数据库表的结构和关系。

然后使用数据库建模工具创建了对应的数据库表。

接下来,使用SQL语句对数据库进行了初始化和插入数据,并通过增删改查操作验证了数据库的正常使用。

在插入大量数据后,使用索引对查询语句进行了优化,提高了查询性能。

最后,使用数据库备份工具对数据进行了完整备份,并进行了测试恢复操作,确保数据的可靠性和完整性。

通过本次实验,我深入了解了数据库的基本概念与原理,掌握了数据库的设计与建模技巧。

同时,我也学会了使用SQL语言进行数据库的增删改查操作,并掌握了索引的使用和优化方法。

数据库的备份与恢复操作也让我加深了对数据库安全性的认识。

《数据库原理》实验报告 创建数据库

《数据库原理》实验报告  创建数据库

《数据库原理》实验报告(一){Jno char(4) primary key,Jname char(20) unique,City char(20)};Create table SPJ{Sno char(4) ,Pno char(4) ,Jno char(4),Qty int(4),Primary key(Sno,Pno,Jno),Foreign key(Sno)references S(Sno), Foreign key(Pno)references P(Pno), Foreign key(Jno)references J(Jno) }实验内容四、用INSERT语句插入四个表中的全部数据。

S表的插入命令:Insert into S(Sno,Sname,Status,City) values(‘S1’,’精益’,’20’,’天津’);Insert into S(Sno,Sname,Status,City) values(‘S2’,’盛锡’,’10’,’北京’);Insert into S(Sno,Sname,Status,City) values(‘S3’,’东方红’,’30’,’北京’);Insert into S(Sno,Sname,Status,City) values(‘S4’,’丰泰盛’,’20’,’天津’);Insert into S(Sno,Sname,Status,City) values(‘S5’,’为民’,’30’,’上海’);P表的插入命令:Insert into P(Pno,Pname,Color,Weight) values(‘P1’,’螺母’,’红’,’12’);Insert into P(Pno,Pname,Color,Weight) values(‘P2’,’螺栓’,’绿’,’17’);Insert into P(Pno,Pname,Color,Weight) values(‘P3’,’螺丝刀’,’蓝’,’14’);Insert into P(Pno,Pname,Color,Weight) values(‘P4’,’螺丝刀’,’红’,’14’);Insert into P(Pno,Pname,Color,Weight) values(‘P5’,’凸轮’,’蓝’,’40’);Insert into P(Pno,Pname,Color,Weight) values(‘P6’,’齿轮’,’红’,’30’);J表的插入命令:Insert into J(Jno,Jname,City) values(‘J1’,’三建’,’北京’);Insert into J(Jno,Jname,City) values(‘J2’,’一汽’,’长春’);Insert into J(Jno,Jname,City) values(‘J3’,’弹簧厂’,’天津’);Insert into J(Jno,Jname,City) values(‘J4’,’造船厂’,’天津’);实验内容Insert into J(Jno,Jname,City) values(‘J5’,’机车厂’,’唐山’);Insert into J(Jno,Jname,City) values(‘J6’,’无线电厂’,’常州’);Insert into J(Jno,Jname,City) values(‘J7’,’半导体厂’,’南京’);SPJ表的插入命令:Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P1’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P1’,’J3’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P1’,’J4’,’700’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P2’,’J2’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J1’,’400’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J2’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J4’,’500’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J5’,’400’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P5’,’J1’,’400’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P5’,’J2’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S3’,’P1’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S3’,’P3’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S4’,’P5’,’J1’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S4’,’P6’,’J3’,’300’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S4’,’P6’,’J4’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P2’,’J4’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P3’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P6’,’J2’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P6’,’J4’,’500’);五、用命令完成下列的数据更新操作。

数据库原理综合实验报告

数据库原理综合实验报告

实验六数据库原理综合实验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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*带有比较运算符的子查询*/ /*相关子查询*/ select Sno,Cno from SC x where Grade >= (
select avg(Grade) from SC y where y.Sno=x.Sno )
/*带有any(some)或all谓词的子查询*/
select Sname,Sage from Student where Sage<any(
/*嵌套查询*/ /*in谓词*/ select Sno,Sname,Sdept from Student
where Sdept in( select Sdept from Student where Sname='刘晨'
)/*此查询可以利用自身连接代替select S1.Sno,S1.Sname,S1.Sdept from Student S1,Student S2 where S1.Sdept=S2.Sdept and ='刘晨'*/
select Sname from Student where Sname like '欧阳__'/*注意一个汉字两个字符*/
select Sname,Sno from Student where Sname like '__阳%'
select Sname,Sno from Student where Sname not like '刘%'
/*为查询结果指定列标题*/ select Sname name,'year of birth' birth,2014-Sage birthday,lower(Sdept) department from Student
/*消除取值重复的行*/ select distinct Sno from SC
select Sno,Sname from Student where Sno in(
select Sno from SC where Cno in (
select Cno from Course where Cname='信息系统' ) ) /*以上代码的连接方式*/ select Student.Sno,Sname from Student,Course,SC where ame='信息系统' and o=o and Student.Sno=Sc.Sno
select Sage from Student where Sdept='CS' )and Sdept <>'CS' select Sname,Sage from Student where Sage<all( select Sage from Student where Sdept='Cs' )and Sdept<>'CS'
/*聚集函数*/ select count(*)/*貌似distinct和*是不能同时使用的*/
from SC
select count(distinct Sno) from Student
select avg(Grade) from SC where Cno=1 /*计算一号课程的平均成绩*/
select max(Grade) from SC where Cno=2 /*计算号课程的最高成绩*/
/*字符匹配*/ select Cno,Ccredit from Course where Cname like 'DB\_Desigen' escape '\' /*转码字符由自己定义*/
/*涉及空值的查询*/ select Sno,Cno from SC where Grade is null /*注意is不能用=替代*/
题目: 数据库原理实验报告
课本内容练习
一、创建表 create table Student(
Sno char(9) primary key, Sname char(20) unique, Ssex char (2), Sage smallint, Sdept char(20) ) create table Course( Cno char(4) primary key, Cname char(40), Cpno char(4), Ccredit smallint, foreign key (Cpno) references Course(Cno) ); create table SC( Sno char(9), Cno char(4), Grade smallint, primary key(Sno,Cno), foreign key(Sno) references Student(Sno), foreign key(Cno) references Course(Cno) ) create table Dept_age( Sdept char(15), Avg_age smallint, ) 二、插入 insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215121','李勇','男',20,'CS') insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215122','刘晨','女',19,'CS')
select * from student where sno <> '200215121'
select * from student where sno != '200215121'/*不含有通配符的时候可以使用“=;<>;!=”代替like,not
like*/
select Sname,Sno,Ssex from Student where Sname like '刘%'
三、查询 select Sno,Sname from Student;
/*查询经过计算的值*/ select Sname,2014-Sage from Student
/*指定字符通过小写输出*/ select Sname,'year of birth',2014-Sage,lower(Sdept) from Student
/*有时in谓词可看做多个or的缩写
/*order by子句*/ select Sno,Grade from SC where Cno='3' order by Grade desc /*asc:升序;desc:降序,缺省升序*/
select * from Student orrt
into SC(Sno,Cno,Grade) values('200215121','1',92) insert into SC(Sno,Cno,Grade) values('200215121','2',85) insert into SC(Sno,Cno,Grade) values('200215121','3',88) insert into SC(Sno,Cno,Grade) values('200215122','2',90) insert into SC(Sno,Cno,Grade) values('200215122','3',80)
select sum(Ccredit) from SC,Course where Sno='200215121' and o=o 的总学分*/
/*查询学号为的学生选修课程
/*group by子句*/ select Cno,COUNT(Sno) from SC group by Cno
/*比较大小查询*/ select Sname,Sage from Student where Sage>19
select Sname from Student where Sdept='CS'
/*确定范围*/ select Sname,Sdept,Sage from Student where Sage between 20 and 30
insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215123','王敏','女',18,'MA') insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215125','张立','男',19,'IS')
select Sno,Cno from SC where Grade is not null
/*多重条件查询*/ select Sname from Student
where Sdept='CS' and Sage<20 /*and优先级比or高*/
select Sname,Ssex from Student where Sdept='CS' or Sdept='IS' or Sdept='MA' */
/*having 短语*/ select Sno from SC group by Sno having COUNT(*)>2
/*连接查询*/ select Student.*,SC.* from Student,SC where Student.Sno=SC.Sno /*自然连接,两个表中不重复的属性名可以不加前缀*/ select Student.Sno,Sname,Ssex,Sdept,Cno,Grade from Student,SC where Student.Sno=SC.Sno /*自身连接,要为表取别名,此时必须都要有前缀*/ select o,second.Cpno from Course first,Course second where first.Cpno=o /*外连接*/ select Student.Sno,Sname,Ssex,Sdept,Cno,Grade from Student right outer join SC on(Student.Sno=Sc.Sno) /*复合条件连接*/ select Student.Sno,Sname from Student,SC where Student.Sno=SC.Sno and o='2' and SC.Grade>80 /*复合条件连接*/ select Student.Sno,Sname,Cname,Grade from Student,Course,SC where Student.Sno=SC.Sno and o=o
相关文档
最新文档