这是我第一次使用面向对象的数据库。过去几年,我与RDBMS相关联。但是现在......来到这个面向对象的数据库世界,我有点担心数据库的创建或设计的后果。我担心的是RDMS数据库中这个面向对象数据库的数量或迁移。那将是我的任务之一。
我想知道在我们设计这些数据库的过程中,我应该为迁移工作做些什么样的挑战。
任何输入??
答案 0 :(得分:1)
所以这真的是一个SQL数据库?我不认为这个问题与大多数人会理解为“面向对象”的数据库有什么关系。
您的数据库在发布的表单中似乎无法使用。除非删除或禁用其中一个外键约束,否则无法插入行 - 至少是暂时的。一种方法是使用“deferred”约束。但是,看起来您可能正在使用Microsoft SQL Server,它不支持可延迟的约束。
答案 1 :(得分:1)
我之前已经回答here,希望它会有所帮助
关系数据库
缺点
对象数据库
缺点
对象关系型数据库(您可能已经看过UDT!)
不同的应用程序可能需要不同的方法(OO,关系数据库或OODB)
参考文献
The advantage of using relational databases for large corpora
Relational Database Relational Database
Benefits of a relational database
The Object-Oriented Database System Manifesto
Object Oriented Database Systems
Object Relational Databases in DBMS
Completeness Criteria for Object-Relational Database Systems
<强>比较强>
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems
http://en.wikipedia.org/wiki/Comparison_of_object-relational_database_management_systems
答案 2 :(得分:0)
我是即将推出的DBA,我不是在编写任何java代码,但是......有很多继承,表之间的紧密耦合,我也可以给出一个例子,比如
CREATE TABLE [dbo].[A](
[application] [varchar](50) NULL,
[category] [varchar](50) NULL,
[corporateCode] [varchar](50) NULL,
[critical] [bit] NULL,
[initialCondition] [varchar](50) NULL,
[initialLossOfLife] [decimal](3, 2) NULL,
[installationDate] [date] NULL,
[lotNumber] [varchar](50) NULL,
[BID] [int] NOT NULL,
CONSTRAINT [PK_A] PRIMARY KEY CLUSTERED
(
[AID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
设置ANSI_PADDING OFF GO
ALTER TABLE [dbo].[A] WITH CHECK ADD CONSTRAINT [FK_BID] FOREIGN KEY([B])
参考文献[dbo]。[B]([BID]) GO
CREATE TABLE [dbo].[B](
[BID] [int] NOT NULL,
CONSTRAINT [PK_B] PRIMARY KEY CLUSTERED
(
[BID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[B] WITH CHECK ADD CONSTRAINT [FK_B_A] FOREIGN KEY([BID])
REFERENCES [dbo].[A] ([AID])
GO
ALTER TABLE [dbo].[B] CHECK CONSTRAINT [FK_B_A]
GO
即使从表示层,如何在这种设计中插入插件?