`

用OO设计数据库结构之我解

阅读更多

前段时间,dv的上水道曾在dv的web版发过一贴,地址:
http://bbs.dvbbs.net/dispbbs.asp?boardid=1&replyid=1864723&id=1028215&page=1&skin=0&Star=1
当时没怎么看明白,但昨天叶子这笨蛋说起一个多功能的系统中分类表不能放在一起时,偶就突然有了自己的一点理解,今天在看了一遍上水道的贴子,就感觉怎么好象和他想到一块了。呵呵,,,,

入正题

现有的系统,假设有下载、相册、文章功能,按照现有的一般性习惯,都会把那三个功能中需要用到的分类分表存放,例如
tb_DownSort、tb_AlbumSort、tb_ArticleSort
然后各表的结构都不尽相同。当然,我不会说这种方法不好。我现在只谈我用OO设计数据库结构的方法。

1、先建立一个分类表,也可以称为一个基本类,里面只有
SortID SortName SortType  .....[这里是怎么实现无限分类的扩展字段,基于各种分类方法不同,因此不列出]
这里的sorttype就是决定他是拥有哪种属性的了。

2、建立一个属性表,也可以称为分类这个基本类的扩展属性,但这里字段该怎么设计,尚未想好。

3、建立视图,通过基本类的SortType和属性表进行关联,以实现实例化

4、这样程序方面就可以通过直接查询视图,来获得具体某个分类的所有信息了。

注:这里为什么要在基本表里设置sorttype而不是在属性表通过sortid去指向呢?因为我这里是考虑属性是可以通用的,而不是单独定制的,因此结构也就有所不同。


[点击查看详细]
分享到:
评论

相关推荐

    用OO4O和VC++开发ORACLE数据库应用程序的方法研究

    ### 用OO4O和VC++开发ORACLE数据库应用程序的方法研究 #### 1. OO4O组件概述 OO4O(Object for Oracle)组件是一种专为简化Oracle数据库操作设计的进程内自动化服务器。该组件的主要目标是提高开发效率,简化与...

    用OO的思路封装MYSQL数据库操作

    标题“用OO的思路封装MYSQL数据库操作”暗示我们将通过创建类来实现对MySQL数据库的抽象,以提高代码的可读性和可维护性。具体来说,我们可以设计一个数据库连接类,一个SQL语句执行类,甚至一个结果集处理类,每个...

    基于OO4O和VC 6.0 实现Oracle数据库操作C++源代码程序小实例

    在本实例中,我们将深入探讨如何使用Object Oriented for Oracle (OO4O)库和Microsoft Visual C++ 6.0(或Visual Studio .NET)来实现对Oracle数据库的C++编程操作。OO4O库是Oracle公司提供的一个接口,允许开发者...

    服装库存管理系统数据库设计.doc

    概念结构设计的目的是为了建立一个清晰、合理的数据库结构,满足业务需求,并确保数据的一致性和完整性。 2.1 概念结构设计的方法 概念结构设计的方法有多种,常见的有Entity-Relationship(E-R)模型、Object-...

    用OO4O操作Oracle数据库的大数据字段.pdf

    【Oracle 数据库与大数据字段操作】Oracle 数据库是关系型数据库的一种,被广泛应用于存储和管理各种类型的数据,包括图像、音频、视频等大数据量的信息。这些数据通常以大数据字段的形式存储,如 BFile、BLOB...

    OO设计原则 -- OO设计的 DIP依赖倒置原则

    ### OO设计原则 -- OO设计的 DIP依赖倒置原则 #### 概述 在软件工程领域,特别是面向对象设计中,依赖倒置原则(Dependency Inversion Principle, DIP)是六大设计原则之一,由著名软件架构师Robert C. Martin提出...

    OO设计原则总结

    ### OO设计原则总结 #### 什么是设计原则? 设计原则是一系列指导软件开发的基本准则,遵循这些原则可以帮助开发者构建出更加灵活、易于维护和扩展的软件系统。这些原则旨在解决常见的软件设计问题,如耦合度高、...

    OO4O技术在Oracle数据库程序开发中的应用.pdf

    尽管使用OO40的应用程序只能访问Oracle数据库,不兼容其他数据库,但它具有针对Oracle数据库的优化特性,如对对象关系和LOB(Large Object)数据类型的全面支持,以及对PL/SQL和Oracle Advanced Queuing的支持。...

    23个设计模式标准OO结构

    在面向对象编程(Object-Oriented Programming, OOP)领域,23种设计模式被视为标准集合,这些模式被分类为创建型、结构型和行为型三大类。 创建型设计模式关注于对象的创建,它们提供了一种方式来控制实例化过程,...

    使用UML设计数据库应用

    同样的模型能够用来开发编程代码和建立关系型数据库结构。关系型数据库技术是意义深远的、强大的,但它比许多开发商使你相信的要难得多。单个表是简单易懂的、直观的,但是要彻底了解由数以百计的表组成(这是常见的...

    OO设计原则-里氏替换原则

    ### OO设计原则——里氏替换原则详解 #### 一、引言 面向对象设计原则(Object-Oriented Design Principles)是一套指导软件开发者如何更好地设计类、接口等面向对象元素的原则集合,旨在提高代码的可复用性、可...

    面向对象与数据库

    当面向对象与数据库相结合时,我们通常会讨论ORM(对象关系映射),它是一种技术,使程序员可以用面向对象的方式来操作数据库。ORM框架如Hibernate和Entity Framework,它们自动处理对象和数据库之间的转换,减少了...

    数据库系统原理与设计(万常选版)总复习1-2总复习.ppt

    数据库系统原理与设计是计算机科学和信息技术的核心领域之一。它是指对数据库系统的设计、实现、应用和维护的研究和实践。数据库系统原理与设计的目的是为了提供一个高效、可靠、安全的数据管理系统,以满足现代信息...

    工作流设计参考_包括PHP实现

    利用PHP语言特性,流程设计基于数据库,采用面向对象(OO)设计,但采取重对象的方法以减少代码冗余。最后,不考虑可视化流程设计,由专业人员在设计阶段完成,避免频繁的流程版本更新问题。 在数据表设计方面,...

    用OO4O操作Oracle数据库的大数据字段 (1).pdf

    要使用OO4O访问Oracle数据库,首先需要将OO4O的动态库和头文件引入到VC++项目中。完成初始化后,可以通过ODatabase类打开数据库,并使用ODynaset类来访问不同库表中的数据。 访问Oracle数据库的基本步骤如下: 1. ...

    VC++中利用OO4O接口从Oracle数据库中读写图像C++源代码程序小实例

    在本实例中,我们将深入探讨如何在VC++环境中利用Object-Oriented ODBC(OO4O)接口与Oracle数据库进行交互,特别是在读取和写入图像数据方面。Visual Studio .NET是一个强大的开发平台,它提供了丰富的工具和支持,...

    用OO方法增强Linux下MySQL数据库的应用性能.pdf

    【摘要】:本文探讨了一种使用面向对象(OO)技术来优化Linux系统中MySQL数据库应用性能的方法。该方法基于MySQL C API,通过建立面向对象类来处理数据库连接、会话、安全性和数据完整性等问题,从而提高MySQL的应用...

Global site tag (gtag.js) - Google Analytics