专注业务连续性支持与数据保护
2009-11-02生活琐记

身份证号码的结构和表示形式已关闭评论

身份证号码的结构和表示形式

  1、号码的结构
  公民身份号码是特征组合码,由十七位数字本体码和一位校
  验码组成。排列顺序从左至右依次为:六位数字地址码,八位数
  字出生日期码,三位数字顺序码和一位数字校验码。
  2、地址码
  表示编码对象常住户口所在县(市、旗、区)的行政区划代码,
  按GB/T2260的规定执行。
  3、出生日期码
  表示编码对象出生的年、月、日,按GB/T7408的规定执行,
  年、月、日代码之间不用分隔符。
  4、顺序码
  表示在同一地址码所标识的区域范围内,对同年、同月、同
  日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配
  给女性。
  5、校验码
  (1)十七位数字本体码加权求和公式
  S = Ai * Wi, i = 2, … , 18
  Y = mod(S, 11)
  i: 表示号码字符从右至左包括校验码字符在内的位置序号
  Ai:表示第i位置上的身份证号码字符值
  Wi:表示第i位置上的加权因子
  i: 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
  Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
  (2)校验码字符值的计算
  Y: 0 1 2 3 4 5 6 7 8 9 10
  校验码: 1 0 X 9 8 7 6 5 4 3 2
  四、举例如下:
  北京市朝阳区: 11010519491231002X
  广东省汕头市: 440524188001010014

2009-11-01生活琐记

关于操作系统的“偏见”已关闭评论

关于操作系统的“偏见”

  操作系统则是身为一个 IT 人员最容易有偏见的人, 只是我也很清楚我不是基本教义派, 因为我在去年之前还是大量的使用 Windows 做为我最主要的 Desktop.
  只是我现在并不是投向 Linux, 而是因为为了贪图一个 17 寸的萤幕使用 MacBook Pro, 在此之前, 我并不认为 Linux 即使在某方面比 Windows 在效能上占优势, 但扣除之外并没有那么绝对, 而且用了 GUI, 谁赢谁输更是各有立场.
  不否认的我现在的 Server 环境就顾问面是: 10% Windows, 15% Red Hat, 20% Ubuntu, 30% CentOS, 20% FreeBSD, 5% SuSE 但若是计算在我手上建议的 Server 的话, 目前是 50% FreeBSD, 40% CentOS, 10% SuSE, 且这 SuSE 与 CentOS 还是受限于环境, 而自己偷偷的喜欢 FreeBSD 是不争的事实.
  当然并不是我真的很讨厌 Microsoft, 就像是我说 Windows 可能是除了 Mac OSX 外, 比很多 Linux GUI 都来得实用, 但就 Server 而言, GUI 本身就是个原罪, 毕竟要处理这些 Handle, 花掉 10%~30% 的资源是跑不掉的, 更何况 Windows 从来不喜欢文字介面.
  就像是 Linux 很多设定要写成 GUI 或 Web UI, 大概只有写出常用的, 也就是文字设定可能的 30%~40%, 说不定还更低, 更何况 Windows 更不希望你去调整 Kernel, 也不太可能去做 Kernel Source Compiler.
  如同我今天看到 "聚沙成塔" 这本书, 作者也承认虽然 80% 以上的软体靠 Binary 就很够, 但有些还是要重新编译才能达到最佳化, 单单这部份我的确会比较信任 Open Source 的原因, 而不是免费或商用与否.
  而的确我现使用较多的 OS 是 FreeBSD 与 CentOS, 其中也是因为很多实体主机商提供的 CentOS 都是基础的, 且很合适初学者管理.
  当然若是选择了 Linux-based, 很多东西是不言而喻, 但我还是不会有任何 "较为积极正面的态度" 主张使用者的 Desktop 使用非 Windows 的, 只是经过这一年多 Mac 的经验, 我的确会明示或暗示 Mac OS 用起来真的比 Windows 好, 但我现在还没有正式在任何一台常用的桌机装任何的 Linux GUI 来长期使用.
  而就 TCO (Total Cost of Ownership) 的观点来看, 我的确也认为到底是 Windows 好还是 Unix 好, 目前的观点与经验是: "看产业", 若不是看产业, 更是看 "目前的架构", 变化的成本有时会是无法负担或必要或获得更好的情型下就不要变, 除非有些产业明鲜的使用 Windows 好或 Unix 好, 但这些都并不构成绝对因素.
  只是身为一个顾问本来就应该有跨系统或多系统管理的经验, 不能偏废, 但事实上就市场而言似乎都是 "全部只用Winows" 的顾问占 40%, "部份Windows部份Unix 的顾问占 60%, 所以相对的 Windows 的布署反而是 Windows 60%, Unix 40%, 因为有些人是太习惯使用 Windows 而对 Unix 有莫名的恐惧到直接拒绝反而是最麻烦的.
  当然经验论是决定一个人的价值, 但或许更多的经验也是增加自己的价值, 若要成为一个有本质的 IT 顾问, 我不认为该偏任何 OS 是真的, …
  但我也是因为在网络服务方面容易都只遇到 Unix 的机会较高阿, …

2009-10-30生活琐记

Gartner今日发布2010年十大技术与趋势已关闭评论

Gartner今日发布2010年十大技术与趋势

Gartner今日发布2010年十大技术与趋势,这一结果将影响众多企业的战略部署.
Gartner公司定义了未来三年将对企业产生潜在重大影响的战略技术.这些重大影响的因素包括使IT或业务中断的高潜在风险、对美元主要投资的需求,或是延迟采用的风险.这些技术将影响企业的长期计划和项目行为.他们可能具有战略意义,因为他们已经成熟到可以拓展市场应用或已从早前的部署中获得战略优势.

Gartner公司副总裁兼著名分析师David Cearley表示:“企业应该针对这些因素提出关键问题并作出审慎的决策,并将其纳入未来两年的战略规划进程.但这并不意味着需要采用或投资全部技术.他们需要决定哪些技术将帮助或改善他们各个业务的行为.”

2010年十大战略技术包括:

云计算:云计算是一种以提供商向客户提供各种IT功能为特征的计算模型.可以用各种方式采用以云为基础的服务来开发应用或解决方案.采用云资源不会省却 IT解决方案的成本,但是会重新设置或降低其他的成本.除此之外,采用云服务的企业将越来越多地作为云提供者并为客户和业务伙伴提供应用、信息及业务流程服务.

高级分析:优化和模拟使用分析工具和模型,在流程应用和执行之前、期间和之后研究替代结果和方案,来最大化业务流程和决策效应.这可看作是支持业务决策的第三步.无论是通过客户关系管理(CRM)或企业资源规划(ERP)或其他应用程序,固定的规则和政策让位于在正确时间从正确信息所作出的更明智决定.新的方法是提供模拟、预测、优化和其他分析,而不是简单的信息,从而使每一个业务流程的行为决策更加灵活.新方法着眼于未来,预测未来将会发生什么情况.

客户端计算:虚拟化为包装客户端计算应用和功能带来新的方法.因此,一个特定的PC 硬件平台以及操作系统平台的选择已经变得不那么重要.企业应积极建立5至8年的战略客户端计算的发展蓝图,对设备的标准、所有权和支持方法、操作系统和应用产品的选择、部署和更新,以及管理和安全计划进行规划,从而管理设备的多样性.

绿色IT: IT可以实现许多环保行为.IT的使用,特别是白领阶层对IT的使用,可以极大加强企业的环保实践.普通的环保行动包括使用电子文档、减少出差和通信的使用.IT还提供了可以供企业其他成员使用的分析工具,降低了运输物品对能源的消耗以及其他碳管理活动.

重塑数据中心:过去,制定数据中心的规则非常简单:计算现有的数据量,估算未来15 至20年的增长量,然后建立一个与之相符的数据库.而新建的数据中心往往拥有庞大的空闲空间、足够的动力和不间断电源(UPS),及水和空气冷却,且大多是空闲的.但是,如果企业采用POD方法建设和扩张数据中心,成本将会变得很低.如果一个数据库的生命周期需要9,000平方英尺的空间,然后以此设计场地,但只建设满足未来5至7年的需要.削减运营费用对大多数客户来说是整体IT开销的一个普通部分,可用以腾出资金投资其他项目或是IT和业务本身.

社交化计算:工人不想在两个截然不同的环境工作——一个是为自己本身的工作(无论是个人或团体),另一个是访问“外部”的信息.企业要着眼于社交软件和社交媒体的使用,并集成外部的企业赞助和公共社区.不要忽视社交角色的重要性,它能使社区团结在一起.

安全—活动监控:传统上,安全的重点是放入围栏防止外部入侵,但现在它已演变为监测活动和确定以前曾经丢失的模式.信息安全专家面临着从持续不断的离散活动流量中检测出恶意行为的挑战,这些活动通常来自一个授权的用户且来源于多个网络、系统和应用资源.同时,安全部门面临着要求提供越来越多的注册分析和报告这一日益增长的需求,以支持审计要求.各种各样的免费(有时是重叠)监测和分析工具可帮助企业更好地发现和调查可疑的活动——常常伴随着实时报警或交易干预.通过了解这些工具的长处和弱点,企业可以更好地使用它们来保护企业并满足审计要求.

闪存:闪存现在已经不是新鲜的技术了,但它正逐渐转变为存储设备中的新亮点.闪存是一种半导体存储器件,用户已经从USB记忆棒和数码相机记忆卡熟悉了它的使用.它速度远远超过旋转磁盘,但是价格相当昂贵.现在这一差距正在缩小.在价格下降的同时,这项技术在最近几年经历超过百分之百的复合年增长率,且越来越成为许多科技领域,包括消费电子设备,娱乐设备和其他嵌入式IT系统的战略.此外,它提供了一个在服务器和客户端计算机间存储层级的新层,包括空间、热、性能和可靠性的关键优势.

虚拟化的可用性:虚拟化早在前几年一直被列入战略技术的名单.它今年出现在名单上是因为Gartner公司强调了其中的一些新元素,例如具有长远影响的可用性实时迁移.实时迁移是一个正在运行的虚拟机(VM)在其操作系统和其它软件运行时所做的运动,如同他们仍然在原来的物理服务器上一样.这需要通过复制源和目标VM间的物理存储,然后,在源机器完成一条指令执行的某个瞬间,下一条指令开始在目标机器上执行.

但是,如果内存复制无限持续下去,而指令执行仍在源VM,源VM下一条指令的故障将出现在目标机器上.如果目标VM发生故障,只需选择一个新的目标开始无限迁移,从而提高可用性.

它的关键价值在于用各种离散机制取代了单一的“拨号”,因此在使用相同的机制,并允许设置根据要求迅速改变的情况下,可以设置从基线水平到容错能力可用性的任何等级.因此省去了昂贵的高可靠性硬件与故障转移群集软件,甚至容错硬件,但仍满足可用性需求.这才是削减成本、降低复杂性,以及提升需求变化灵活性的关键.

无线应用:截至2010年底,在融合了移动性和网络的丰富环境下,12亿人将携带拥有强大移动商务功能的手机.尽管市场有限且需要独特的编码,现在已经有成千上万如苹果iPhone平台类的应用.它可能需要更新的版本灵活地应用在PC和微型系统上,但如果操作系统界面和处理器架构是一样的,这有利于创造一个庞大的移动应用程序的可用性.

Gartner公司副总裁兼著名分析师Carl Claunch表示:“该十大技术应作为一个出发点,企业应该以此根据他们所在的行业、独特的业务需求以及技术采用模式来做出调整.当作出对公司正确的决定时,决策可能与某一项技术没有任何关系.在其他情况下,将以现在的比例持续对技术进行投资.在另一些情况下,这些决定可以检测/引导或更积极地采用/部署该技术.”

2009-10-29生活琐记

xenserver通过pxe安装centos遇到的问题已关闭评论

xenserver通过pxe安装centos遇到的问题

我的pxe服务器是按照esxi定制的,在XenServer上通过pxe安装centos时候出现提示无法找到硬盘。在网上查询,找到这个方法:
(这是个kisckstart脚本)
install
nfs –server=10.10.232.40 –dir=/Installation/Rhel-4.1
lang en_US.UTF-8
langsupport –default=en_US.UTF-8 en_US.UTF-8
network –device eth0 –bootproto dhcp –hostname red
rootpw –iscrypted $1$f91AzQH/$befDzE/yrgmekEW8Gbz/S1
firewall –disabled
selinux –disabled
authconfig –enableshadow –enablemd5
timezone Asia/Calcutta
bootloader –location=mbr –append="console=ttyS0 rhgb quiet"
#即手动配置分区内容。
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
# clearpart –all –drives=sda
# part /boot –fstype "ext3" –size=100 –ondisk=sda
# part pv.2 –size=0 –grow –ondisk=sda
# volgroup VolGroup00 –pesize=32768 pv.2
# logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=272 –grow –maxsize=544
# logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=1024 –grow

%packages
@ admin-tools
@ gnome-desktop
@ dialup
@ compat-arch-support
@ base-x
@ server-cfg
kernel
grub
e2fsprogs
lvm2

%post

但这样处理后,每次安装都需要交互,并不爽,经测试,把上面的粗体替换为下列内容后,完美解决。
bootloader –location=mbr –driveorder=hda
clearpart –all –drives=hda –initlabel
part swap –size 4096 –asprimary –ondisk=hda
part / –fstype ext3 –size 1 –grow –asprimary –ondisk=hda

2009-09-28生活琐记

dd命令实例已关闭评论

dd命令实例

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝
的同时进行指定的转换。
1. 命令简介
dd 的主要选项:
指定数字的地方若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
输入文件名,缺省为标准输入。
of=file
输出文件名,缺省为标准输出。
ibs=bytes
一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。
obs=bytes
一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
bs=bytes
同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
cbs=bytes
一次转换 bytes 个字节,即转换缓冲区大小。
skip=blocks
从输入文件开头跳过 blocks 个块后再开始复制。
seek=blocks
从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。
count=blocks
仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。
conv=conversion[,conversion…]
用指定的参数转换文件。

转换参数:
ascii 转换 EBCDIC 为 ASCII。
ebcdic 转换 ASCII 为 EBCDIC。
ibm 转换 ASCII 为 alternate EBCDIC.
block 把每一行转换为长度为 cbs 的记录,不足部分用空格填充。
unblock 使每一行的长度都为 cbs ,不足部分用空格填充。
lcase 把大写字符转换为小写字符。
ucase 把小写字符转换为大写字符。
swab 交换输入的每对字节。
noerror 出错时不停止。
notrunc 不截短输出文件。
sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
2.实例分析
2.1.数据备份与恢复
2.1.1整盘数据备份与恢复
备份
将本地的/dev/hdx整盘备份到/dev/hdy :dd if=/dev/hdx of=/dev/hdy
将/dev/hdx全盘数据备份到指定路径的image文件:dd if=/dev/hdx of=/path/to/image
备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径:dd if=/dev/hdx | gzip
>/path/to/image.gz
恢复
将备份文件恢复到指定盘:dd if=/path/to/image of=/dev/hdx
将压缩的备份文件恢复到指定盘 :gzip -dc /path/to/image.gz | dd of=/dev/hdx
2.1.2.利用netcat远程备份
在源主机上执行此命令备份/dev/hda:dd if=/dev/hda bs=16065b | netcat < targethost-IP >
1234
在目的主机上执行此命令来接收数据并写入/dev/hdc:netcat -l -p 1234 | dd of=/dev/hdc
bs=16065b
以下两条指令是目的主机指令的变化分别采用bzip2 gzip对数据进行压缩,并将备份文件保存在当
前目录 :
netcat -l -p 1234 | bzip2 > partition.img
netcat -l -p 1234 | gzip > partition.img
2.1.3.备份MBR
备份:
备份磁盘开始的512Byte大小的MBR信息到指定文件:dd if=/dev/hdx of=/path/to/image
count=1 bs=512
恢复:
将备份的MBR信息写到磁盘开始部分:dd if=/path/to/image of=/dev/hdx
2.1.4.备份软盘
将软驱数据备份到当前目录的disk.img文件:dd if=/dev/fd0 of=disk.img count=1 bs=1440k
2.1.5.拷贝内存资料到硬盘
将内存里的数据拷贝到root目录下的mem.bin文件:dd if=/dev/mem of=/root/mem.bin
bs=1024
2.1.6.从光盘拷贝iso镜像
拷贝光盘数据到root文件夹下,并保存为cd.iso文件:dd if=/dev/cdrom of=/root/cd.iso
2.2.增加Swap分区文件大小
创建一个足够大的文件(此处为256M):dd if=/dev/zero of=/swapfile bs=1024 count=262144
把这个文件变成swap文件:mkswap /swapfile
启用这个swap文件:swapon /swapfile
在每次开机的时候自动加载swap文件, 需要在 /etc/fstab 文件中增加一行:/swapfile swap
swap defaults 0 0
2.3.销毁磁盘数据
利用随机的数据填充硬盘:dd if=/dev/urandom of=/dev/hda1
在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作
无法执行。
2.4磁盘管理
2.4.1.得到最恰当的block size
通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小:
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
2.4.2测试硬盘读写速度
通过两个命令输出的执行时间,可以计算出测试硬盘的读/写速度:
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
hdd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
2.4.3.修复硬盘
当硬盘较长时间(比如一两年年)放置不使用后,磁盘上会产生magnetic flux point。当磁头读到
这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致
硬盘报废。下面的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
dd if=/dev/sda of=/dev/sda

2009-08-29生活琐记

80个特色音乐站点推介–音乐网址大全篇已关闭评论

80个特色音乐站点推介–音乐网址大全篇

音乐无国界–本文共整理了包括内地、港澳台地区、欧美、韩日以及东南亚等国家与地区的一些相对有特色的音乐站点。推介的站点主要有巨鲸、水手音乐、虾 米、青檬网络电台、音悦台、ST、Last.fm、CoolMan、WE7、IN Music、NME、Dosirak等。本文比较适合喜爱音乐的初级入门者。

★内地
>> 巨鲸音乐网 URL: http://www.top100.cn/
>> 水手音乐(Sailor Music Record Label)  URL: http://www.musicsailor.com/
>> 葡萄鱼音乐小站 URL: http://www.putaoyu.com/
>> 芋头电台  URL: http://www.u2.fm/
>> 音悦台 URL: http://www.yinyuetai.com/
>> 九天音乐 URL: http://www.9sky.com/
>> 雅燃音乐(FLAMESKY MUSIC) URL: http://www.flamesky.com/
>> 私人音乐杂志  URL: http://www.lovedark.com/default.html
>> 杂碎后院  URL: http://www.zasv.com/
>> 班得瑞全球中文网  URL: http://www.bandari.net/
>> 挖挖哇音乐  URL: http://www.wa3.cn/
    >> 其他
DiggCD  http://www.diggcd.com/                   YOBO  http://www.yobo.com/
Songtaste  http://www.songtaste.com/         亦歌  http://www.1g1g.com/
8BOX  http://8box.cn/                                         虾米  http://www.xiami.com/
不插店  http://www.buchadian.com/            落 http://www.luoo.net/
Music In Style  http://www.m-instyle.cn/     声音止痛片 http://www.soundpiece.com/
独立音地  http://www.indiechina.com/       蝌蚪音乐  http://music.kedou.com/
音乐石头 http://www.musicstone.net/        唯美天空  http://www.weamea.com/
中文电台之家  http://www.hi-fm.com/               青檬网络电台  http://www.911pop.com/
Verycd Music  http://lib.verycd.com/music/      豆瓣音乐  http://www.douban.com/music/
新浪乐库  http://music.sina.com.cn/yueku/      5Sing原创基地  http://www.5sing.com/
我爱摇滚乐  http://www.sorock.com/
★港澳台地区
>>  Cool Man Music  URL: http://www.coolmanmusic.com/
>>  MOOV  URL: http://moov.hk/
>> 玫瑰大众音乐网 URL: http://www.tcr.com.tw/
>>  Hit Fm联播网  URL: http://hitoradio.im.tv/
    >> 其他
TVB音乐  http://mytv.tvb.com/music                台湾MTV音乐网  http://www.mtv.com.tw/
雅虎奇摩音乐  http://tw.music.yahoo.com/    YUS-Music  http://www.yusmusic.com/
iMusic.HK  http://www.imusic.hk/
★欧美
>>  Midomi  URL: http://www.midomi.com/
>> SSMunch  URL: http://ssmunch.com
>>  WE7  URL:http://www.we7.com/
>>  NME  URL: http://www.nme.com/
>>  The Hype Machine  URL: http://hypem.com/
>>  MOG  URL: http://mog.com/
>>  Yamelo  URL: http://www.yamelo.com/
>>  Grooveshark  URL: http://www.grooveshark.com/
>>  ReverbNation  URL: http://www.reverbnation.com/
>>  Tunezee  URL: http://www.tunezee.com/
>>  Outdustry  URL: http://outdustry.com/
>>  Live365  URL: http://www.live365.com/
  >>其他
Slacker  http://www.slackernetwork.com/                   Jango  http://www.jango.com/
eMusic  http://www.emusic.com/                                 imeem  http://www.imeem.com/
MySpace Music  http://www.myspace.com/music    iLike  http://www.ilike.com/
BBC RADIO  http://www.bbc.co.uk/radio/                   Last.fm http://cn.last.fm/
Billboard  http://www.billboard.com/                           MTV  http://www.mtv.com/
Jukefly  http://www.jukefly.com/                 Rhapsody  http://www.rhapsody.com/
Songza  http://songza.fm/                           Skreemr  http://skreemr.com/
Deezer  http://www.deezer.com/                 MusicMesh  http://www.musicmesh.net/
Dilettante  http://www.dilettantemusic.com/
★韩日及其他
Soribada(韩)  http://www.soribada.com/
Pandoracd(韩)  http://www.dosirak.com/
Dosirak(韩)  http://www.dosirak.com/
Listen (日)  http://listen.jp/
Musicfarm(日)  http://www.musicfarm.co.jp/
Mplant(日)  http://www.mplant.com/
Kapook Musicstation(泰)  http://musicstation.kapook.com/
IN Music(印度)  http://www.in.com/music/
Tamtay Music(越)  http://music2.tamtay.vn/
Digg.MY Music(新加坡)  http://music.digi.com.my/MusicLanding.aspx
★网友推荐的音乐站点
http://www.douban.com/group/topic/7745380/ (豆瓣: 音乐百宝箱:33个特色音乐站点整理)
http://www.tangguohe.com/catalog/%e4%bd%93%e8%82%b2%e5%a8%b1%e4%b9%90/%e9%9f%b3%e4%b9%90/?filter=2 (糖果盒音乐网站推荐)
http://www.mtime.com/my/zhanyi/blog/1421547/ (时光网: 38个免费的国外音乐网站推荐)

2009-08-17生活琐记

《MySQL性能调优与架构设计》示例库结构脚本已关闭评论

《MySQL性能调优与架构设计》示例库结构脚本

示例库结构脚本的所有创建语句:

 

–创建数据库
Create DATABASE example;

–创建表
–索引是根据应用中使用的 Query 的情况而决定,所有表开始都仅仅只有主键,没有其他的索引
–各表没有特定存储引擎和字符集,各位读者朋友可根据自己的环境决定

Create TABLE event (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
user_id int(11) NOT NULL,
event_type varchar(8) NOT NULL,
event_msg varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
);

–组内讨论信息summary

Create TABLE group_message (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
group_id int(11) NOT NULL,
user_id int(11) NOT NULL,
author varchar(32) NOT NULL,
subject varchar(128) NOT NULL,
PRIMARY KEY (id)
);

–组内讨论信息内容

Create TABLE group_message_content (
group_msg_id int(11) NOT NULL,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
content text NOT NULL,
PRIMARY KEY (group_msg_id)
);

–组信息

Create TABLE groups (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
name varchar(32) NOT NULL,
status varchar(16) NOT NULL,
description varchar(1024) DEFAULT NULL,
PRIMARY KEY (id)
);

–特殊消息

Create TABLE message (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
subject varchar(64) NOT NULL,
status varchar(16) NOT NULL,
PRIMARY KEY (id)
);

–消息

Create TABLE message_content (
msg_id int(11) NOT NULL,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
content varchar(512) DEFAULT NULL,
PRIMARY KEY (msg_id)
);

–照片表

Create TABLE photo (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
user_id int(11) NOT NULL,
status varchar(16) NOT NULL,
subject varchar(64) NOT NULL,
url varchar(64) NOT NULL,
PRIMARY KEY (id)
);

–相册表

Create TABLE photo_album (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
album_name varchar(64) NOT NULL,
user_id int(11) NOT NULL,
PRIMARY KEY (id)
);

–照片相册关系表

Create TABLE photo_album_relation (
id int(11) NOT NULL auto_increment,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
album_id int(11) NOT NULL,
photo_id int(11) NOT NULL,
PRIMARY KEY (id)
);

–照片回复信息表

Create TABLE photo_comment (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
photo_id int(11) NOT NULL,
comments varchar(512) NOT NULL,
PRIMARY KEY (id)
);

–系统各组广播消息表

Create TABLE top_message (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
user_id int(11) NOT NULL,
author varchar(32) NOT NULL,
subject varchar(128) NOT NULL,
PRIMARY KEY (id)
);

–用户基本信息表

Create TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
nick_name varchar(32) NOT NULL,
password char(64) DEFAULT NULL,
email_b varchar(32) DEFAULT NULL,
status varchar(16) DEFAULT NULL,
PRIMARY KEY (id)
);

–用户个人详细信息表

Create TABLE user_profile (
user_id int(11) NOT NULL,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
sexuality char(1) NOT NULL,
msn varchar(32) DEFAULT NULL,
sign varchar(64) DEFAULT NULL,
birthday date DEFAULT NULL,
hobby varchar(64) DEFAULT NULL,
location varchar(64) DEFAULT NULL,
description varchar(1024) DEFAULT NULL,
PRIMARY KEY (user_id)
);

–用户分组表

Create TABLE user_group (
user_id int(11) NOT NULL,
gmt_create datetime NOT NULL,
gmt_modified datetime NOT NULL,
group_id int(11) NOT NULL,
user_type int(11) NOT NULL,
status varchar(16) NOT NULL,
PRIMARY KEY (user_id,group_id)
);