数据库与表格空间

一、           数据库的组成

       1 Db2中,数据库是 实例下 的 最大数据对象集合,是关系型数据库,也就是以表格形式存放数据。

       2从数据库管理员(DBA ― 就是您)的角度看,实际的数据库包含许多下面列出的物理和逻辑对象

  • 表、视图、索引和模式
  • 锁、触发器、存储过程和包
  • 缓冲池、日志文件和表空间

3)数据库中表的类型

用户表:即存放用户数据的表

    系统表:存放系统数据的表,用来记录该数据库中所有的对象(如:表格空间、表格、索引、触发器、存储过程)的定义、结构及权限。

临时表:系统的临时表用于对表排序、重组、连结、创建索引等

 

二、           几个概念

容器: 物理存储设备(真正的存储设备),可以是操作系统目录(文件夹)、设备或操作系统文件,表实际存储于容器中

表空间:一个表空间可以包括多个容器,是容器的逻辑集合,一个容器只能属于一个表空间,一个表空间也只能属于一个数据库。

表空间分类:系统表空间(sysspace:存放这个数据库的所有系统表格

            临时表空间(tempspace): 存放db2在执行sql指令时,因为排序、连接等工作产生的临时表

            用户表空间(userspace):存放用户自己定义的表

表:  在逻辑上,表存储于一个表空间中,实际上是分布在对应表空间的物理容器中,表空间在数据库内创建,表则在表空间内创建。

 

 

三、创建数据库:

1、数据库名称的规则是:

·         数据库名称可以由以下字符组成:a-zA-Z0-9@# $

·         名称中的第一个字符必须是字母字符、@# $;它不能是数字,也不能构成字母序列 SYSDBM IBM

·         数据库名称或数据库别名是一个唯一的字符串,包含一至八个上述字符集中的字母、数字或键盘字符。

2CREATE DATABASE 命令创建了什么?

     当你发出 CREATE DATABASE 命令时,DB2 创建了许多文件。这些文件包括日志文件、配置信息、历史文件和三个表空间及其对应的容器。这三个表空间是:

  • SYSCATSPACE:这是存放 DB2 系统目录的地方,系统目录跟踪所有与 DB2 对象相关的元数据(系统数据)。
  • TEMPSPACE1DB2 放置中间结果的临时工作区。
  • USERSPACE1:缺省情况下所有用户对象(表和索引)所在的地方。


F:

实例名

NODE0000

SQL00001 (当前实例在该盘创建的第一个数据库)

SQL 0000.0

SQLT0001.0

SQLT0002.0

SYS表格空间的容器

T的容器

 

USER表格空间的容器

SQL00002 (当前实例在该盘创建的第二个数据库)

当使用create database mydb on f: 创建mdb数据库时

  也以在建立数据库时,特别指定syscataspacetempspace1userspace1的设定:

 create database test on d: user tablespace managed by system using(‘f:/testdb/dircon 1’ ,f:/testdb/dircon 2’ )

F:

实例名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C# 中,可以通过使用 ADO.NET 中的 SqlCommand 对象来向数据库表格中插入数据。以下是一个简单的示例: 首先,需要在代码中引用 System.Data 命名空间。 ```csharp using System.Data.SqlClient; ``` 接着,可以使用以下代码来创建并打开数据库连接: ```csharp string connectionString = "Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True"; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); ``` 其中,`yourServerName` 和 `yourDatabaseName` 分别替换为实际的 SQL Server 实例名称和数据库名称。 然后,可以使用以下代码来创建 SqlCommand 对象,并设置 SQL 语句和参数: ```csharp string sql = "INSERT INTO yourTableName (column1, column2, column3) VALUES (@value1, @value2, @value3)"; SqlCommand command = new SqlCommand(sql, connection); command.Parameters.AddWithValue("@value1", "some value"); command.Parameters.AddWithValue("@value2", 123); command.Parameters.AddWithValue("@value3", DateTime.Now); ``` 其中,`yourTableName` 替换为实际的表格名称,`(column1, column2, column3)` 替换为实际的列名,`@value1`、`@value2` 和 `@value3` 分别表示三个参数名称。需要注意的是,这里使用了参数化查询,以避免 SQL 注入攻击。 最后,可以使用以下代码来执行 SQL 命令并关闭数据库连接: ```csharp command.ExecuteNonQuery(); connection.Close(); ``` 完整的代码示例如下: ```csharp string connectionString = "Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True"; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); string sql = "INSERT INTO yourTableName (column1, column2, column3) VALUES (@value1, @value2, @value3)"; SqlCommand command = new SqlCommand(sql, connection); command.Parameters.AddWithValue("@value1", "some value"); command.Parameters.AddWithValue("@value2", 123); command.Parameters.AddWithValue("@value3", DateTime.Now); command.ExecuteNonQuery(); connection.Close(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值