数据库设计原则

1、在创建数据表的时候,对于字符串类型的字段,如果明确知道字段的长度,就用char类型,否则用varchar。char类型查询速度更快,但会浪费存储空间

字符串char和varchar的区别在于两点:1,存储长度不同,char类型存储固定长度,varchar类型是可变长度,是在存储的内容上加一个字节。比如

char(5)               varchar(5)

' ', 内存占5个字节       ' '  1个字节

               'kingwu_han' 6个字节,在数据表里只保存前五位'kingw' 

'abc',占5个字节

'记录姜是老的辣 ' 5个字节

第二个区别是检索方式不同,varchar类型的字段值如果有空格,检索出来的时候空格依然显示,char类型不显示空格,也就是说会过滤掉空格,比如'ab c'和'abc'。

 

枚举类型enum和集合类型set的区别,enum字段的值只能是几个选项中的一个,而set字段的值可以是一个也可以是集合中的多个。只要值在集合里就行。

create table demo(name enum('a','b','c'),addr set('北京','天津','上海')),如果将'a,b'插入到字段name中会报错,因为name字段的值只能是a,b,c中的一个,如果将'北京,上海'插入到addr字段中则不会报错。

 

blob 存储二进制数据,比如相片,相片是一种文件,可以在php程序里,按读取文件内容的方式将二进制数据读取出来,然后存储到数据表当中。

 

数值型:tinyint(-128-127或0-255),smallint(-32768-32767或0-65535),mediumint(0-16777215),int(21.4亿多),bigint,在选中那个整型的时候,根据字段的最大值来取,

Android数据库设计原则是指在开发Android应用程序时,设计和使用数据库时应遵循的一些准则和最佳实践。以下是一些常见的Android数据库设计原则: 1. 数据库选择:选择适合你的应用需求的数据库类型,常见的选择包括SQLite、Room等。SQLite是Android平台默认的关系型数据库,适用于小型应用;而Room是Google官方提供的一个SQLite对象映射库,提供了更高级的抽象和便利性。 2. 数据库架构设计:根据应用需求和数据模型设计数据库架构。合理划分表和字段,避免冗余和重复数据,保持数据的一致性和完整性。 3. 数据库版本管理:使用数据库版本管理机制来管理数据库的升级和迁移。通过继承SQLiteOpenHelper类或使用Room库的Migration功能,可以在应用升级时对数据库进行结构变更。 4. 数据库操作封装:封装数据库操作,提供统一的接口和方法,方便其他模块或组件进行数据库操作。可以使用DAO(Data Access Object)模式或Repository模式来实现。 5. 异步操作:在进行数据库操作时,尤其是耗时的查询或写入操作,应该使用异步方式执行,以避免阻塞主线程,提高应用的响应性能。可以使用AsyncTask、RxJava等方式来实现异步操作。 6. 数据库安全性:保护数据库的安全性,包括对敏感数据的加密存储、防止SQL注入攻击、合理设置数据库权限等。 7. 数据库性能优化:优化数据库的性能,包括使用索引来提高查询效率、合理使用事务来保证数据的一致性和完整性、避免频繁的数据库操作等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值