Представление графа в базе данных
От: ain Россия  
Дата: 24.09.02 16:13
Оценка:
Подскажите пожалуйста, каким образом можно представить граф в базе данных. В качестве сущностей должны быть вершины и ребра.
Если возможно подскажите пожалуйста ссылки по теме.
Спасибо.
... << J 1.0 alpha 4 >>
Re: Представление графа в базе данных
От: Atilla Россия  
Дата: 24.09.02 18:58
Оценка: 6 (1)
Здравствуйте ain, Вы писали:

ain>Подскажите пожалуйста, каким образом можно представить граф в базе данных. В качестве сущностей должны быть вершины и ребра.

ain>Если возможно подскажите пожалуйста ссылки по теме.
ain>Спасибо.

чё-нить типа такого:

CREATE TABLE [dbo].[Branch] (
    [BranchID] [int] IDENTITY (1, 1) NOT NULL ,
    [Vertex1] [int] NOT NULL ,
    [Vertex2] [int] NOT NULL ,
    [BranchData] [int] NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Vertex] (
    [VertexID] [int] IDENTITY (1, 1) NOT NULL ,
    [VertexData] [int] NULL 
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Branch] WITH NOCHECK ADD 
    CONSTRAINT [PK_Branch] PRIMARY KEY  CLUSTERED 
    (
        [BranchID]
    )  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[Vertex] WITH NOCHECK ADD 
    CONSTRAINT [PK_Vertex] PRIMARY KEY  CLUSTERED 
    (
        [VertexID]
    )  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[Branch] ADD 
    CONSTRAINT [FK_Branch_Vertex] FOREIGN KEY 
    (
        [Vertex1]
    ) REFERENCES [dbo].[Vertex] (
        [VertexID]
    ),
    CONSTRAINT [FK_Branch_Vertex1] FOREIGN KEY 
    (
        [Vertex2]
    ) REFERENCES [dbo].[Vertex] (
        [VertexID]
    )
GO
Кр-ть — с.т.
Re[2]: Представление графа в базе данных
От: ain Россия  
Дата: 25.09.02 06:49
Оценка:
Здравствуйте Atilla, Вы писали:

Спасибо, с этим понятно.
Есть еще один вопрос.
Если есть несколько таблиц используемых в качестве справочников(например справочник организаций и т.д) можно ли написать хранимую процедуру что-бы работать со всеми таблицами, добавлять, удалять данные и т.д.
Спасибо.
... << J 1.0 alpha 4 >>
Re: Представление графа в базе данных
От: Аноним  
Дата: 25.09.02 07:07
Оценка:
Здравствуйте ain, Вы писали:

ain>Подскажите пожалуйста, каким образом можно представить граф в базе данных. В качестве сущностей должны быть вершины и ребра.


Ну это вообще чересчур общий вопрос. Ведь известно несколько способов представления графов — матрица инциденций, матрица смежности, списки вершин и ребер — для различных нужд. Сами графы тоже бывают разные — ориентированные/неориентированные, взвешенные/невзвешенные...

Рецепты зависят от решаемых задач...
Re[2]: Представление графа в базе данных
От: ain Россия  
Дата: 25.09.02 07:29
Оценка:
Здравствуйте , Вы писали:

>Рецепты зависят от решаемых задач...


В данном случае это некоторая ЛВС, т.е набор оборудования ( хабы, маршрутизаторы) соединенные между собой.
Я думаю это можно представить как список ребер и вершин.
граф неориентированный, а вот надо ли задавать веса вершинам и ребрам, пока неизвесно.
... << J 1.0 alpha 4 >>
Re[3]: Представление графа в базе данных
От: Atilla Россия  
Дата: 25.09.02 21:46
Оценка:
Здравствуйте ain, Вы писали:

ain>Здравствуйте Atilla, Вы писали:


ain>Спасибо, с этим понятно.

ain>Есть еще один вопрос.
ain>Если есть несколько таблиц используемых в качестве справочников(например справочник организаций и т.д) можно ли написать хранимую процедуру что-бы работать со всеми таблицами, добавлять, удалять данные и т.д.
ain>Спасибо.

Честно говоря, вопроса я не понял, но думаю, что вполне возможно.
Кр-ть — с.т.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.