Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Строк меньше, чем вводимых данных  [new]
foxspy
Member

Откуда:
Сообщений: 6
Есть 3 таблицы

1. Ученики (id_ученика, FIO_ученика, номер_телефона).
2. Родители (id_родителя, id_ученика1, FIO_мамы, FIO_папы, адрес_семьи).
3. Предметы (id_предмета, id_ученика2, название_предмета, дата_оценки, тип_ оценки, номер_четверти) поля дата оценки, тип оценки и номер четверти оставляю пустыми для дальнейшего ввода значений.

Вопрос: как заполнить id_ученика2 в таблице Предметы, если при заполнении таблицы формируется всего 9 строк (т.к. предметов всего 9). Внизу описано то, как заполняю эту таблицу:

insert into Subjects (id_subject, name_subjects) values

(01, 'Русский язык'),
(02, 'Математика'),
(03, 'Чтение'),
(04, 'Музыка'),
(05, 'Физкультура'),
(06, 'Природоведение'),
(07, 'Рисование'),
(08, 'Труд'),
(09, 'Английский язык')
11 май 17, 15:24    [20473020]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
Не понятно, в чем у вас проблема?
11 май 17, 15:40    [20473116]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
londinium
Member

Откуда: Киев
Сообщений: 1138
foxspy,

для начала надо заполнить таблицу "ученики", т.е. что-то в духе
INSERT Ученики (id_ученика, FIO_ученика, номер_телефона)
VALUES(1,'IVANOFF','02'),(2,'PETROFF','03'),(3,'SIDOROFF','01');
11 май 17, 16:03    [20473187]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20207
Кривая схема-то... предметы и оценки учеников по ним должны быть в разных таблицах. Как минимум...
11 май 17, 16:14    [20473211]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
foxspy
Member

Откуда:
Сообщений: 6
londinium, я все уже заполнил, вот код изначальный:

+
create database ARMUNK
use ARMUNK

create table Students (
id_student int not null,
FIO_students nvarchar (100) not null,
Telephone_number_students nvarchar (100))

create table Parents (
id_parents int not null,
id_student1 int not null,
FIO_mather nvarchar (100) not null,
FIO_father nvarchar (100) not null,
Telephone_number_mather nvarchar (100) not null,
Telephone_number_father nvarchar (100) not null,
Adress_family nvarchar (100) not null)

create table Subjects (
id_subject int not null,
id_student2 int not null,
name_subjects nvarchar (30) not null,
date_mark date,
type_mark nvarchar (30),
number_Fourth int)

alter table Subjects add id_student2 int not null

insert into Students values 

(001, 'Андреанов Денис Андреевич', 89100000101),
(002, 'Аввакумов Алексей Иванович', 89100113445),
(003, 'Вурносова Екатерина Валерьевна', 89045678831),
(004, 'Гнесина Ольга Михайловна', 89154338000),
(005, 'Ежов Виктор Владимирович', 89101511567),
(006, 'Жуков Андрей Дмитриевич', 89067775431),
(007, 'Ильин Константин Сергеевич', 89167009181),
(008, 'Лобанова Мария Евгеньевна', 89045670000),
(009, 'Митусов Аркадий Иванович', 89158889032),
(010, 'Мазохина Юлия Юрьевна', 89007776544),
(011, 'Тишкина Анастасия Викторовна', 89034569988),
(012, 'Орусов Антон Павлович', 89036445555),
(013, 'Пеганов Илья Борисович', 89106665500),
(014, 'Россов Михаил Вадимович', 89021112445),
(015, 'Ухина Александра Юрьевна', 89166669908)


insert into Parents values

(0001, 001, 'Андреанова Олеся Игоревна', 'Андреанов Андрей Сергеевич', 89205151169, 89046847677, 'Судогодское шоссе д.41 кв.1'),
(0002, 002,'Аввакумова Лидия Витальевна', 'Аввакумов Иван Дмитриевич', 89046847877, 89202404561, 'Добросельская д.34 кв.33'),
(0003, 003,'Вурносова Марина Алексеевна', 'Вурносов Валерий Владимирович', 89605697346, 89994682569, 'Большая д.1 кв.6'),
(0004, 004,'Гнесина Татьяна Романовна', 'Гнесин Михаил Юрьевич', 89004798320, 89506712598, 'Никитская д.7 кв.117'),
(0005, 005,'Ежова Светлана Андреевна', 'Ежов Владимир Сергеевич', 89046213793, 89992683541, 'Добросельская д.44 кв.'),
(0006, 006,'Жукова Наталья Владимировна', 'Жуков Дмитрий Алексеевич', 89204596236, 89046235791, 'Токарева д.9 кв.78'),
(0007, 007,'Ильина Оксана Александровна', 'Ильин Сергей Александрович', 89507923460, 89105248317, 'Горького д.90 кв.100'),
(0008, 008,'Лобанова Елизавета Петровна', 'Лобанов Евгений Михайлович', 89045696321, 89105683247, 'Офицерская д.78 кв.88'),
(0009, 009,'Митусова Светлана Васильевна', 'Митусов Иван Сергеевич', 89143570525, 89256414693, 'Каманина д.6 кв.50'),
(0010, 010,'Мазохина Анастасия Анатольвна', 'Мазохин Юрий Владимирович', 89313507625, 89234606734, 'Мира д.92 кв.12'),
(0011, 011,'Тишкина Юлия Игоревна', 'Тишкин Виктор Семенович', 89235607145, 89245793127, 'Восстания д.44 кв.1'),
(0012, 012,'Орусова Дарья Сергеевна', 'Орусов Павел Адреевич', 89055694217, 89335794158, 'Терешковой д.9 кв.2'),
(0013, 013,'Пеганова Алёна Станиславовна', 'Пеганов Борис Геннадьевич', 89263903264, 89269531584, 'Революции д.95 кв.19'),
(0014, 014,'Россова Валерия Олеговна', 'Россов Владимир Владимирович', 89051478426, 89357425803, 'Пионерская д.7 кв.8'),
(0015, 015,'Ухина Анна Викторовна', 'Ухин Юрий Юрьевич', 89604573199, 89270415831, 'Гастелло д.45 кв.30')


insert into Subjects (id_subject, name_subjects) values 

(01, 'Русский язык'),
(02, 'Математика'),
(03, 'Чтение'),
(04, 'Музыка'),
(05, 'Физкультура'),
(06, 'Природоведение'),
(07, 'Рисование'),
(08, 'Труд'),
(09, 'Английский язык')

в Subjects мне нужно, чтобы и там были id учеников, но как их вписать в эту таблицу

Сообщение было отредактировано: 11 май 17, 18:02
11 май 17, 17:01    [20473351]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
foxspy,

схема данных позволит иметь одному родителю двух и более детей. Иначе получите несколько одинаковых записей о родителях.
То же касается предметов.

Надо добавить таблицы связей, чтобы получить многие-ко-многим.

Ученик - Предметы ученика - Справочник Предметов
Ученик - Родители - Справочник родителей

Родителей разделите на пап и мам, адреса также разделите на дома, улицы. Иначе потом получите 5 вариантов одного адреса.
11 май 17, 17:09    [20473381]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
londinium
Member

Откуда: Киев
Сообщений: 1138
автор
я все уже заполнил

сомневаюсь. по крайней мере, вот этот кусок
create table Subjects (
id_subject int not null,
id_student2 int not null,
name_subjects nvarchar (30) not null,
date_mark date,
type_mark nvarchar (30),
number_Fourth int)

alter table Subjects add id_student2 int not null

очень сомнительный
11 май 17, 17:10    [20473384]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
foxspy
Member

Откуда:
Сообщений: 6
londinium,

вот я и не знаю как этот кусок заполнить, единственное место
11 май 17, 17:13    [20473394]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
foxspy
Member

Откуда:
Сообщений: 6
Владислав Колосов,

Дело в том, что я совсем не разбираюсь в бд и делаю все по конспектам своим. Суть такая что потом эту бд нужно будет связать с оконным приложением на C#. К сожалению, я гуманитарий 100% и очень многого не могу понять и применить. Должна получится такая система, чтобы можно было выбрать ученика, выбрать четверть, поставить ему оценку за предмет, выбрав дату постановки оценки и тип - обычная, контрольная, четвертная и все. И чтобы можно было просмотреть информацию о нем и его родителях.
11 май 17, 17:22    [20473411]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
Яшь90
Guest
А может лучше в Excel?
Вам нужно четыре таблице минимум.

1. Ученики (id_ученика, FIO_ученика, номер_телефона).
2. Родители (id_родителя, id_ученика1, FIO_мамы, FIO_папы, адрес_семьи).
3. Предметы (id_предмета, название_предмета).
4.Оценки (id_предмета, id_ученика, дата_оценки, тип_ оценки, номер_четверти).
12 май 17, 17:14    [20477172]     Ответить | Цитировать Сообщить модератору
 Re: Строк меньше, чем вводимых данных  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
foxspy,

в принципе, хорошее начало, Вы видите противоречия хранения данных. Не каждый новичок сходу это понимает.
В соседней теме я поместил ссылку на разъяснительный материал по реляционным базам.
12 май 17, 17:21    [20477193]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить