mysql - 在 My sql ER 图中创建复合属性?

标签 mysql database-design

我目前正在 mySQL 中开发一个项目,我想知道 mySQL 是否可以为实体的属性创建一组复合属性。该属性不是主键,它是一个地址,因此复合属性应该是街道、城镇、州等... A)这可能吗?如果是这样,我会使用哪种类型/我将如何去做。 B) 是否实用,我有大约 10 个实体,我觉得其中几个实体需要复合属性,这只是最好的例子。

最佳答案

不,MySQL 不支持“复合”属性。

您可以将“复合”属性的组成部分“分解”到一个单独的表中。或者,您可以将它们保留为同一个表中的单独列。

我使用列名称来“标识”组成复合属性的属性。你用“地址”给出了一个很好的例子。它确实是一个属性,具有多个组件。

这是我的一个表定义的(已中性的)示例:

CREATE TABLE `foo` (
`id`              COMMENT 'PK'
`category_id`     COMMENT 'FK to ...'
`display_name`
...
`address_street`  
`address_street2` 
`address_city`    
`address_state`   
`address_country` 
`address_postal_code`
...
`country_code`    COMMENT 'ISO 3166-1-alpha-2 code'
`latitude`     
`longitude`    
...

底线是,MySQL 不支持复合属性。但我可以使用命名约定将组件“关联”在一起。

关于mysql - 在 My sql ER 图中创建复合属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23396988/

相关文章:

php - 将两张表中的相似数据合并到一张表中

php - 我是否需要在 WordPress 语句(查询)中使用数组 ('%s' 、 '%s' ),或者该数组已过时?

sql - 在SQL中将两个计数结果相互划分

database-design - 如何防止对由相同类型的实体组成的实体进行深度递归查询? [里面很酷的例子]

javascript - 当转义值时,Mysql 查询不再起作用

php - 如何在php中将值从一个页面传递到另一个页面,而不是通过URL传递?

php - 根据所做的选择选择框加载

database - 是否有更适合社交网络的数据库系统?

php - 按范围区分文件。文档-类别-部门的关系

数据库选择快速更新