Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите спроектировать две таблички. / 5 сообщений из 5, страница 1 из 1
24.04.2011, 17:18
    #37230915
kuflash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите спроектировать две таблички.
Всем добрый вечер! Возникла проблема. У меня в БД есть 2 таблицы "Категории товаров" и "Пользовательские категории товаров".

В этой хранятся категории, доступные для всех пользователей
Категории товаровID категорииНазвание категории

А в этой категории, отдельного пользователя. Ну т.е человек может добавить свои категории
Пользовательские категории товаровID категорииID пользователяНазвание категории

Я хочу получить все категории какого либо пользователя, включая и категории из первой таблицы. Хочу получить табличку вида:
1 Бытовая техника (по умолч.)
2 Продукты питания (по умолч.)
3 Медицина (по умолч.)
4 Автомобиль (пользовательская)
5 Дача (пользовательская)

ну т.е чтобы получился список категорий.
Возможно ли это сделать с такой структурой таблиц? Если да, то как? А если нет, то помогите пожалуйста переделать структуру.
Заранее благодарен, за дельные советы!
...
Рейтинг: 0 / 0
24.04.2011, 17:41
    #37230934
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите спроектировать две таблички.
...
Рейтинг: 0 / 0
27.04.2011, 14:17
    #37235880
RodionAT_new
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите спроектировать две таблички.
В первую таблицу добавьте поле "Для всех", где 0 - ДляВсех, 1 - НеДляВсех. А отчет - запросом где условие (одно из нескольких) будет "Ид_Категория =0 or Ид_пользователя =" & Пользователь_Ид_Выбр
...
Рейтинг: 0 / 0
27.04.2011, 20:40
    #37236823
iljy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите спроектировать две таблички.
kuflash,

я бы вместо 2х таблиц использовал таблицу и вьюху, примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
use tempdb
if object_id('ViewSID') is not null drop view ViewSID
if object_id('TestSID') is not null drop table TestSID
go
create table TestSID (id int primary key, UserID int default DATABASE_PRINCIPAL_ID())

go
create view dbo.ViewSID
as
	select id, UserID
	from dbo.TestSID
	where UserID = DATABASE_PRINCIPAL_ID() or UserID is null
	with check option 
go

insert ViewSID(id) values( 1 ),( 2 )
insert ViewSID values ( 3 ,null)

select * from ViewSID
go
if object_id('ViewSID') is not null drop view ViewSID
if object_id('TestSID') is not null drop table TestSID
UserID соответственно хранит идентификатор пользователя либо null если доступно для всех. Доступ к таблице запрещаете и пользователь работает только с вьюхой, соответственно видит общие категории либо свои. Добавлять тоже может только во вьюху, соответственно только общие либо свои. Если надо только свои - будет сложнее, но ненамного.
PS код привел для MSSQL.
...
Рейтинг: 0 / 0
28.04.2011, 15:55
    #37238487
falcon17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите спроектировать две таблички.
А это для проги типа Домашняя бухгалтерия? т.е. для личного пользования, или для сайта, в котором просто еще не все учтено, и нужны пользватели, чтобы дополнить таблицу?

Я к тому, чтобы использовать одну таблицу

Категории товаровID категорииНазвание категорииID пользователяФлаг: Одобрено модератором

пользователь пишет данные прямо в таблицу, а флаг выставляется =0
как только модератор посмотрит, подправит название, если надо и выставит флаг =1, то категория становится доступной для всех.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите спроектировать две таблички. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]