Aleks11

test data for db

Nov 17th, 2013
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.63 KB | None | 0 0
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <string>
  4. #include <ctime>
  5. #include <set>
  6. #include <vector>
  7.  
  8. using namespace std;
  9.  
  10.  
  11. int main()
  12. {
  13.     srand(static_cast<unsigned int>(time(NULL)));
  14.  
  15.     string ProjNames[20] =
  16.     {
  17.         "Тошик МБ-1",
  18.         "Продуманный 2",
  19.         "Артемьево",
  20.         "Европа",
  21.         "Манчестер",
  22.         "Бюргер",
  23.         "Хантер",
  24.         "Шале-04",
  25.         "Пригородный",
  26.         "Стрелец",
  27.         "Романов",
  28.         "В ожидании весны",
  29.         "Иллюзорный контемпорари",
  30.         "Авто-лофт",
  31.         "Рок-строй",
  32.         "Французский треугольник",
  33.         "Обустройство парка",
  34.         "КвартирыНаБлюхера",
  35.         "СозданиеДомофонов",
  36.         "ТрудоустройствоОпилок"
  37.     };
  38.  
  39.     string cities[20] =
  40.     {
  41.         "Москва",
  42.         "Челябинск",
  43.         "Пушкиг",
  44.         "Железногорск",
  45.         "Аркам",
  46.         "Уфа",
  47.         "Златоуст",
  48.         "Новосибирск",
  49.         "Киев",
  50.         "Копейск",
  51.         "Братск",
  52.         "Могилёв",
  53.         "Кузбас",
  54.         "Питер",
  55.         "Екатеринбург",
  56.         "Казань",
  57.         "СолтЛейк",
  58.         "Бережнев",
  59.         "Ленин",
  60.         "Коммунизм"
  61.     };
  62.  
  63.     string streets[20] =
  64.     {
  65.         "Салютная",
  66.         "Пушкина",
  67.         "Тимирязева",
  68.         "Российская",
  69.         "Свободы",
  70.         "Евтеева",
  71.         "Цвиллинга",
  72.         "Советская",
  73.         "Кирова",
  74.         "Труда",
  75.         "Елькина",
  76.         "Чайковского",
  77.         "Герцена",
  78.         "Партизанская",
  79.         "Ижевская",
  80.         "Тепличная",
  81.         "Осипенко",
  82.         "Куйбышева",
  83.         "Чичерина",
  84.         "Татищева"
  85.     };
  86.  
  87.     FILE *f = fopen("others.txt", "w");
  88.  
  89.     /*
  90.     for (int i = 0; i < 20; i++)
  91.     {
  92.         fprintf(f, "union SELECT '%s, %d', %d, '%s', '%s'\n",
  93.             streets[rand() % 20].c_str(), rand() % 100 + 2,
  94.             rand() % 40000 + 1000,
  95.             cities[rand() % 20].c_str(),
  96.             ProjNames[rand() % 20].c_str());
  97.     }
  98.     */
  99.  
  100.     /*
  101.     string colors[10] =
  102.     {
  103.         "чёрный",
  104.         "белый",
  105.         "зелёный",
  106.         "синий",
  107.         "фиолетовый",
  108.         "жёлтый",
  109.         "оранжевый",
  110.         "серый",
  111.         "бежевый",
  112.         "красный"
  113.     };
  114.  
  115.     // from light weight(0.1 kg)
  116.     // to heavy weight(5 kg)
  117.  
  118.     string PartNames[10] =
  119.     {
  120.         "Розетка",
  121.         "Дверная ручка",
  122.         "Валик",
  123.         "Стекло",
  124.         "Плитка",
  125.         "Лампа",
  126.         "Смеситель",
  127.         "Стул",
  128.         "Кирпич",
  129.         "Оконная рама"
  130.     };
  131.  
  132.     // уникальность color + iPartName
  133.     struct CComp
  134.     {
  135.         bool operator()(pair<int, string> const &a, pair<int, string> const &b) const
  136.         {
  137.             return a.first < b.first ||  a.first == b.first && a.second < b.second;
  138.         };
  139.     };
  140.  
  141.     set<pair<int, string>, CComp> UniqPair;
  142.  
  143.     while (UniqPair.size() != 20)
  144.     {
  145.         UniqPair.insert(make_pair(rand() % 10, colors[rand() % 10]));
  146.     }
  147.  
  148.     for (auto it : UniqPair)
  149.     {
  150.         fprintf(f, "union SELECT '%s', %d, %d, %0.1f, '%s'\n",
  151.             PartNames[it.first].c_str(),
  152.             rand() % 4000 + 100,
  153.             rand() % 20 + 1,
  154.             0.1f + it.first / 10.0f * (5.0f - 0.1f),
  155.             it.second.c_str());
  156.     }
  157.     */
  158.  
  159.     for (int i = 0; i < 20; i++)
  160.     {
  161.         fprintf(f, "union SELECT %d, %d, %d, %d\n",
  162.             rand() % 1000 + 100,
  163.             rand() % 100 + 1,
  164.             rand() % 20 + 1,
  165.             rand() % 20 + 1);
  166.     }
  167.  
  168.     fclose(f);
  169.    
  170.     _getch();
  171.     return 0;
  172. }
  173.  
  174. /*
  175.  
  176. Пример запросов в итоге:
  177.  
  178. INSERT INTO
  179.     Vendor(address, city, name, rating)
  180. SELECT 'Салютная, 14', 'Москва', 'СтройКом', 9
  181. union SELECT 'Омская, 24', 'Челябинск', 'СтройКом', 7
  182. union SELECT 'Сулимова, 25', 'Пушкиг', 'СтройКом', 2
  183. union SELECT 'Рылеева, 54', 'Железногорск', 'СтройКом', 5
  184. union SELECT 'Блюхера, 62', 'Аркам', 'СтройКом', 4
  185. union SELECT 'Тарасова, 87', 'Уфа', 'СтройКом', 10
  186.  
  187. union SELECT 'Гагарина, 90', 'Москва', 'БашСтрой', 5
  188. union SELECT 'Победы, 5', 'Челябинск', 'БашСтрой', 1
  189. union SELECT 'Цветочная, 9', 'Златоуст', 'БашСтрой', 6
  190. union SELECT 'Советская, 1', 'Новосибирск', 'БашСтрой', 5
  191. union SELECT 'Свободы, 53', 'Киев', 'БашСтрой', 8
  192.  
  193. union SELECT 'Образцова, 39', 'Киев', 'Домовой', 7
  194. union SELECT 'Дарвина, 17', 'Копейск', 'Домовой', 7
  195.  
  196. union SELECT 'Сатлыкова, 75', 'Братск', 'ОкнаВсем', 6
  197.  
  198. union SELECT '9 мая, 16', 'Могилёв', 'ДвериВДом', 8
  199. union SELECT 'Агалакова, 73', 'Кузбас', 'ДвериВДом', 8
  200. union SELECT 'Свободы, 53', 'Киев', 'ДвериВДом', 9
  201.  
  202. union SELECT 'Пограничная, 64', 'Москва', 'ДоскиНаБлюхера', 4
  203. union SELECT 'Доватора, 2', 'Питер', 'ДоскиНаБлюхера', 2
  204. union SELECT 'Свободы, 64', 'Екатеринбург', 'ДоскиНаБлюхера', 6;
  205.  
  206. INSERT INTO
  207.     Project(address, budget, city, name)
  208. SELECT 'Чайковского, 86', 25213, 'Новосибирск', 'КвартирыНаБлюхера'
  209. union SELECT 'Труда, 43', 31860, 'Железногорск', 'Тошик МБ-1'
  210. union SELECT 'Чичерина, 3', 26628, 'Москва', 'Продуманный 2'
  211. union SELECT 'Чичерина, 31', 26845, 'Братск', 'Рок-строй'
  212. union SELECT 'Куйбышева, 53', 12777, 'Пушкиг', 'Тошик МБ-1'
  213. union SELECT 'Кирова, 76', 12926, 'Братск', 'Европа'
  214. union SELECT 'Кирова, 13', 27587, 'Екатеринбург', 'Иллюзорный контемпорари'
  215. union SELECT 'Евтеева, 23', 21573, 'Пушкиг', 'Пригородный'
  216. union SELECT 'Салютная, 37', 17509, 'Пушкиг', 'Шале-04'
  217. union SELECT 'Труда, 20', 8321, 'СолтЛейк', 'Иллюзорный контемпорари'
  218. union SELECT 'Ижевская, 30', 3751, 'Питер', 'Манчестер'
  219. union SELECT 'Тимирязева, 46', 30555, 'Челябинск', 'Авто-лофт'
  220. union SELECT 'Цвиллинга, 53', 16356, 'Братск', 'Европа'
  221. union SELECT 'Тимирязева, 21', 18913, 'Коммунизм', 'Рок-строй'
  222. union SELECT 'Осипенко, 72', 24835, 'Копейск', 'Авто-лофт'
  223. union SELECT 'Евтеева, 69', 12659, 'Коммунизм', 'Европа'
  224. union SELECT 'Татищева, 93', 28477, 'Питер', 'Продуманный 2'
  225. union SELECT 'Свободы, 8', 28302, 'Екатеринбург', 'Манчестер'
  226. union SELECT 'Елькина, 81', 31742, 'Пушкиг', 'Стрелец'
  227. union SELECT 'Труда, 5', 3917, 'СолтЛейк', 'Бюргер';
  228.  
  229. INSERT INTO
  230.     Part(name, price, vendorid, weight, color)
  231. SELECT 'Розетка', 852, 15, 0.1, 'белый'
  232. union SELECT 'Розетка', 1331, 6, 0.1, 'красный'
  233. union SELECT 'Дверная ручка', 2974, 20, 0.6, 'серый'
  234. union SELECT 'Валик', 1510, 4, 1.1, 'белый'
  235. union SELECT 'Валик', 1178, 10, 1.1, 'фиолетовый'
  236. union SELECT 'Валик', 3757, 1, 1.1, 'чёрный'
  237. union SELECT 'Стекло', 3277, 2, 1.6, 'синий'
  238. union SELECT 'Плитка', 918, 10, 2.1, 'белый'
  239. union SELECT 'Плитка', 3885, 2, 2.1, 'жёлтый'
  240. union SELECT 'Плитка', 1864, 4, 2.1, 'синий'
  241. union SELECT 'Плитка', 1990, 11, 2.1, 'чёрный'
  242. union SELECT 'Лампа', 2603, 5, 2.5, 'белый'
  243. union SELECT 'Лампа', 3005, 12, 2.5, 'серый'
  244. union SELECT 'Смеситель', 2955, 5, 3.0, 'фиолетовый'
  245. union SELECT 'Стул', 2099, 19, 3.5, 'бежевый'
  246. union SELECT 'Стул', 3001, 17, 3.5, 'чёрный'
  247. union SELECT 'Кирпич', 588, 11, 4.0, 'красный'
  248. union SELECT 'Кирпич', 3603, 12, 4.0, 'фиолетовый'
  249. union SELECT 'Оконная рама', 3888, 1, 4.5, 'оранжевый'
  250. union SELECT 'Оконная рама', 900, 7, 4.5, 'фиолетовый';
  251.  
  252. INSERT INTO
  253.     Delivery(PartsCount, ProjectID, VendorID)
  254. SELECT 10, 8, 10
  255. union SELECT 30, 8, 1
  256. union SELECT 1, 3, 20
  257. union SELECT 70, 6, 2
  258. union SELECT 52, 15, 2
  259. union SELECT 46, 10, 3
  260. union SELECT 31, 20, 5
  261. union SELECT 34, 2, 20
  262. union SELECT 16, 6, 19
  263. union SELECT 14, 5, 2
  264. union SELECT 5, 17, 20
  265. union SELECT 47, 4, 15
  266. union SELECT 60, 2, 1
  267. union SELECT 97, 4, 16
  268. union SELECT 67, 13, 5
  269. union SELECT 95, 13, 10
  270. union SELECT 53, 16, 11
  271. union SELECT 34, 16, 5
  272. union SELECT 95, 10, 2
  273. union SELECT 43, 11, 8;
  274.  
  275. */
Advertisement
Add Comment
Please, Sign In to add comment