25:
1598:
1608:
329:. Every row would have both a business key and a surrogate key. The surrogate key identifies one unique row in the database, the business key identifies one unique entity of the modeled world. One table row represents a slice of time holding all the entity's attributes for a defined timespan. Those slices depict the whole lifespan of one business entity. For example, a table
1618:
201:. In a temporal database, however, there is a many-to-one relationship between primary keys and the surrogate. Since there may be several objects in the database corresponding to a single surrogate, we cannot use the surrogate as a primary key; another attribute is required, in addition to the surrogate, to uniquely identify each object.
702:
Surrogate keys are unnatural for data that is exported and shared. A particular difficulty is that tables from two otherwise identical schemas (for example, a test schema and a development schema) can hold records that are equivalent in a business sense, but have different keys. This can be mitigated
694:
between the table with the foreign key and the table with the primary key, showing both key fields in addition to any fields required to distinguish the record; all invalid foreign-key values will have the primary-key column as NULL. The need to perform such a check is so common that
Microsoft Access
732:—and since the identifying attributes are likely to be those queried, then the query optimizer is forced to perform a full table scan when fulfilling likely queries. The remedy to the full table scan is to apply indexes on the identifying attributes, or sets of them. Where such sets are themselves a
656:
It is possible to design key-values that follow a well-known pattern or structure which can be automatically verified. For instance, the keys that are intended to be used in some column of some table might be designed to "look differently from" those that are intended to be used in another column or
804:
Sequentially generated surrogate keys can imply that events with a higher key value occurred after events with a lower value. This is not necessarily true, because such values do not guarantee time sequence as it is possible for inserts to fail and leave gaps which may be filled at a later time. If
710:
will be compromised. For example, in a customer master table, the same customer may have multiple records under separate customer IDs, even though the natural key (a combination of customer name, date of birth, and e-mail address) would be unique. To prevent compromise, the natural key of the table
678:
of the data held in a row. When inspecting a row holding a foreign key reference to another table using a surrogate key, the meaning of the surrogate key's row cannot be discerned from the key itself. Every foreign key must be joined to see the related data item. If appropriate database constraints
767:
Because surrogate keys are unnatural, flaws can appear when modeling the business requirements. Business requirements, relying on the natural key, then need to be translated to the surrogate key. A strategy is to draw a clear distinction between the logical model (in which surrogate keys do not
776:
Proprietary information can be leaked if surrogate keys are generated sequentially. By subtracting a previously generated sequential key from a recently generated sequential key, one could learn the number of rows inserted during that time period. This could expose, for example, the number of
727:
is applied to a table's primary key. The unique index serves two purposes: (i) to enforce entity integrity, since primary key data must be unique across rows and (ii) to quickly search for rows when queried. Since surrogate keys replace a table's identifying attributes—the
657:
table, thereby simplifying the detection of application errors in which the keys have been misplaced. However, this characteristic of the surrogate keys should never be used to drive any of the logic of the applications themselves, as this would violate the principles of
590:
An employee's network user name is chosen as a natural key. Upon merging with another company, new employees must be inserted. Some of the new network user names create conflicts because their user names were generated independently (when the companies were
695:
actually provides a "Find
Unmatched Query" wizard that generates the appropriate SQL after walking the user through a dialog. (It is, however, not too difficult to compose such queries manually.) "Find Unmatched" queries are typically employed as part of a
611:
Surrogate keys tend to be a compact data type, such as a four-byte integer. This allows the database to query the single key column faster than it could multiple columns. Furthermore, a non-redundant distribution of keys causes the resulting
768:
appear) and the physical implementation of that model, to ensure that the logical model is correct and reasonably well normalised, and to ensure that the physical model is a correct implementation of the logical model.
252:
derived from any application data in the database. The only significance of the surrogate key is to act as the primary key. It is also possible that the surrogate key exists in addition to the database-generated
599:
column). With a surrogate key, only the table that defines the surrogate key must be changed. With natural keys, all tables (and possibly other, related software) that use the natural key will have to change.
196:
valid data, there is a one-to-one correspondence between a surrogate in the modeled world and the primary key of the database. In this case the surrogate may be used as a primary key, resulting in the term
333:
may hold temporal information to keep track of contracted working hours. The business key for one contract will be identical (non-unique) in both rows however the surrogate key for each row is unique.
640:, it is much easier to use an integer or GUID surrogate keys for every table instead of natural keys in order to support database-system-agnostic operations and object-to-row mapping.
1043:
1051:(Technical report). Technical Report / Faculty of Mathematics and Computer Science. Vol. IR-267. Amsterdam: Faculty of Mathematics and Computer Science, Vrije Universiteit.
1208:
1191:
1107:
1203:
314:
Having the key independent of all other columns insulates the database relationships from changes in data values or database design (making the database more
683:
was not employed, it is possible to have a foreign-key value that does not correspond to a primary-key value and is therefore invalid. (In this regard,
703:
by not exporting surrogate keys, except as transient data (most obviously, in executing applications that have a "live" connection to the database).
586:
Attributes that uniquely identify an entity might change, which might invalidate the suitability of natural keys. Consider the following example:
552:
Table
Sequence when the sequence is calculated by a procedure and a sequence table with fields: id, sequenceName, sequenceValue and incrementValue
873:
1642:
1601:
920:
751:. To prevent duplication, one must preserve the role of the natural keys as unique constraints when defining the table using either SQL's
603:
Some problem domains do not clearly identify a suitable natural key. Surrogate keys avoid choosing a natural key that might be incorrect.
46:
1274:
1163:
1621:
1015:
68:
648:
When every table has a uniform surrogate key, some tasks can be easily automated by writing the code in a table-independent way.
573:
The primary or natural key data can always be modified, even with databases that do not support cascading updates across related
151:
in the outside world. The surrogate is internally generated by the system but is nevertheless visible to the user or application.
1327:
1578:
1225:
1081:
925:
629:
1517:
1111:
792:
442:
254:
824:
161:
in the database itself. The surrogate is internally generated by the system and is invisible to the user or application.
1543:
1262:
1038:, Proceedings of File 68, an IFIP/IAG International Seminar on File Organisation, Amsterdam, November, pp. 89–96.
39:
33:
991:
C.J. Date. The primacy of primary keys. From "Relational
Database Writings, 1991-1994. Addison-Wesley, Reading, MA.
1466:
1456:
1232:
460:
448:
315:
261:
245:
1553:
1286:
616:
index to be completely balanced. Surrogate keys are also less expensive to join (fewer columns to compare) than
50:
543:
208:(1976) say nothing about this, others have argued that a surrogate should have the following characteristics:
1512:
1502:
1156:
1215:
939:
1647:
1583:
1538:
1052:
658:
570:
Applications cannot lose their reference to a row in the database (since the identifier does not change).
1558:
707:
680:
1312:
1127:
712:
1611:
1548:
1430:
1400:
1269:
1220:
265:
180:
An important distinction between a surrogate and a primary key depends on whether the database is a
1568:
1461:
1446:
1373:
1198:
1057:
886:
778:
1563:
1507:
1476:
1425:
1257:
1149:
473:
420:
Some database designers use surrogate keys systematically regardless of the suitability of other
280:
1317:
1031:
566:
Surrogate keys typically do not change while the row exists. This has the following advantages:
1028:, Annual Review in Automatic Programming, Vol.7, Part 1, Pergamon Press, Oxford, pp. 1–64.
1383:
1237:
1077:
1011:
819:
739:
These additional indexes, however, will take up disk space and slow down inserts and deletes.
454:
322:
185:
1573:
1420:
1410:
1378:
849:
724:
637:
595:
In these cases, generally a new attribute must be added to the natural key (for example, an
523:
237:
181:
519:
is used it will prevent the reuse of numbers that have already been used but are available)
1481:
1451:
1405:
1186:
953:
900:
16:
Unique identifier for either an entity in the modeled world or an object in the database
1533:
1471:
1415:
1388:
1281:
1242:
696:
1636:
1337:
733:
633:
421:
174:
924: prior to 1 November 2008 and incorporated under the "relicensing" terms of the
257:(for example, an HR number for each employee other than the UUID of each employee).
715:, which is implemented as a unique index on the combination of natural-key fields.
617:
497:
1342:
1322:
814:
748:
729:
574:
326:
241:
122:
1486:
1395:
1357:
1332:
1141:
691:
674:
The values of generated surrogate keys have no relationship to the real-world
536:
493:
269:
170:
684:
424:, while others will use a key already present in the data, if there is one.
628:
While using several database application development systems, drivers, and
1347:
1302:
1172:
547:
427:
Some of the alternate names ("system-generated key") describe the way of
273:
106:
805:
chronology is important then date and time must be separately recorded.
532:
1092:
1045:
The identification of objects and roles - Object identifiers revisited
1252:
613:
509:
915:
690:
To discover such errors, one must perform a query that uses a left
325:, it is necessary to distinguish between the surrogate key and the
227:
the value is not composed of several values from different domains.
1247:
967:
292:
1307:
1108:"Create Data Disaster: Avoid Unique Indexes – (Mistake 3 of 10)"
706:
When surrogate keys supplant natural keys, then domain specific
687:
regards the meaninglessness of surrogate keys as an advantage.)
300:
296:
1145:
679:
have not been set, or data imported from a legacy system where
18:
872:
P A V Hall, J Owlett, S J P Todd, "Relations and
Entities",
759:
statement, if the constraints are added as an afterthought.
303:
as a possible data type for surrogate keys (e.g. PostgreSQL
260:
A surrogate key is frequently a sequential number (e.g. a
874:
Modelling in Data Base
Management Systems (ed GM Nijssen)
777:
transactions or new accounts per period. For example see
850:"What is a Surrogate Key? - Definition from Techopedia"
218:
the value is not manipulable by the user or application
177:
and is used throughout this article. See Date (1998).
747:
Surrogate keys can result in duplicate values in any
1526:
1495:
1439:
1366:
1295:
1179:
224:
the value is not visible to the user or application
140:There are at least two definitions of a surrogate:
788:increase the sequential number by a random amount;
711:must not be supplanted: it must be preserved as a
154:Surrogate (2) – Wieringa and De Jonge (1991)
144:Surrogate (1) – Hall, Owlett and Todd (1976)
784:There are a few ways to overcome this problem:
901:"Uniqueidentifier (Transact-SQL) - SQL Server"
1157:
954:"CREATE SEQUENCE (Transact-SQL) - SQL Server"
914:This article is based on material taken from
438:Approaches to generating surrogates include:
8:
1036:Elementary Files and Elementary File Records
1164:
1150:
1142:
1072:Date, C. J. (1998). "Chapters 11 and 12".
1042:Wieringa, Roel; de Jonge, Wiebren (1991).
1056:
1008:Modelling in Data Base Management Systems
69:Learn how and when to remove this message
335:
121:derived from application data, unlike a
32:This article includes a list of general
1128:"Database Soup: Primary Keyvil, Part I"
841:
1074:Relational Database Writings 1994–1997
221:the value contains no semantic meaning
117:in the database. The surrogate key is
723:Relational databases assume a unique
699:process when inheriting legacy data.
431:new surrogate values rather than the
109:is a unique identifier for either an
7:
1026:A Tutorial on Data-Base Organization
921:Free On-line Dictionary of Computing
1617:
1093:"Intelligent Versus Surrogate Keys"
736:, the index can be a unique index.
38:it lacks sufficient corresponding
14:
940:"Database SQL Language Reference"
1616:
1606:
1597:
1596:
791:generate a random key such as a
542:Identity column (implemented in
529:AS IDENTITY GENERATED BY DEFAULT
23:
1607:
490:(starting from SQL Server 2012)
240:, the surrogate key can be the
757:ALTER TABLE ... ADD CONSTRAINT
463:or SQL Server identity column
443:Universally Unique Identifiers
1:
318:) and guarantees uniqueness.
215:the value is system generated
825:Persistent object identifier
483:(starting from version 12.1)
1643:Database management systems
1173:Database management systems
449:Globally Unique Identifiers
113:in the modeled world or an
1664:
1579:Object–relational database
435:of the surrogate concept.
295:). Some databases provide
246:database management system
157:A surrogate represents an
147:A surrogate represents an
1592:
1554:Federated database system
1287:Blockchain-based database
1010:. North-Holland Pub. Co.
763:Business process modeling
630:object–relational mapping
287:or a column defined with
212:the value is never reused
522:AutoNumber data type in
169:definition relates to a
928:, version 1.3 or later.
800:Inadvertent assumptions
53:more precise citations.
1584:Transaction processing
1539:Database normalization
1482:Query rewriting system
1024:Engles, R.W.: (1972),
1006:Nijssen, G.M. (1976).
968:"SQLite Autoincrement"
772:Inadvertent disclosure
659:database normalization
232:Surrogates in practice
1559:Referential integrity
876:, North Holland 1976.
708:referential integrity
681:referential integrity
481:GENERATED AS IDENTITY
268:"identity column", a
1549:Distributed database
1569:Relational calculus
1447:Concurrency control
956:. 29 December 2022.
779:German tank problem
582:Requirement changes
513:INTEGER PRIMARY KEY
348:WorkingHoursPerWeek
244:, generated by the
1564:Relational algebra
1508:Query optimization
1313:Armstrong's axioms
1076:. Addison-Wesley.
719:Query optimization
455:Object Identifiers
1630:
1629:
1238:Wide-column store
1233:Document-oriented
1106:Richardson, Lee.
887:"8.12. UUID Type"
820:Object identifier
713:unique constraint
632:systems, such as
418:
417:
331:EmployeeContracts
323:temporal database
186:temporal database
95:entity identifier
79:
78:
71:
1655:
1620:
1619:
1610:
1609:
1600:
1599:
1574:Relational model
1544:Database storage
1421:Stored procedure
1166:
1159:
1152:
1143:
1137:
1135:
1134:
1122:
1120:
1119:
1110:. Archived from
1102:
1100:
1099:
1087:
1068:
1066:
1065:
1060:
1050:
1021:
992:
989:
983:
982:
980:
979:
964:
958:
957:
950:
944:
943:
936:
930:
929:
911:
905:
904:
897:
891:
890:
883:
877:
870:
864:
863:
861:
860:
846:
758:
754:
597:original_company
530:
524:Microsoft Access
518:
514:
506:
489:
482:
478:
470:
466:
336:
310:
309:UNIQUEIDENTIFIER
306:
290:
286:
278:
238:current database
190:current database
182:current database
74:
67:
63:
60:
54:
49:this article by
40:inline citations
27:
26:
19:
1663:
1662:
1658:
1657:
1656:
1654:
1653:
1652:
1633:
1632:
1631:
1626:
1588:
1534:Database models
1522:
1491:
1477:Query optimizer
1452:Data dictionary
1435:
1406:Transaction log
1362:
1318:Codd's 12 rules
1291:
1221:Column-oriented
1187:Object-oriented
1175:
1170:
1140:
1132:
1130:
1125:
1117:
1115:
1105:
1097:
1095:
1091:Carter, Breck.
1090:
1084:
1071:
1063:
1061:
1048:
1041:
1018:
1005:
1001:
996:
995:
990:
986:
977:
975:
966:
965:
961:
952:
951:
947:
938:
937:
933:
913:
912:
908:
899:
898:
894:
885:
884:
880:
871:
867:
858:
856:
848:
847:
843:
838:
833:
811:
802:
774:
765:
756:
752:
745:
721:
672:
667:
654:
646:
626:
609:
584:
564:
559:
528:
516:
512:
504:
487:
480:
476:
468:
464:
308:
304:
288:
284:
276:
234:
138:
75:
64:
58:
55:
45:Please help to
44:
28:
24:
17:
12:
11:
5:
1661:
1659:
1651:
1650:
1645:
1635:
1634:
1628:
1627:
1625:
1624:
1614:
1604:
1593:
1590:
1589:
1587:
1586:
1581:
1576:
1571:
1566:
1561:
1556:
1551:
1546:
1541:
1536:
1530:
1528:
1527:Related topics
1524:
1523:
1521:
1520:
1515:
1510:
1505:
1503:Administration
1499:
1497:
1493:
1492:
1490:
1489:
1484:
1479:
1474:
1472:Query language
1469:
1464:
1459:
1454:
1449:
1443:
1441:
1437:
1436:
1434:
1433:
1428:
1423:
1418:
1413:
1408:
1403:
1398:
1393:
1392:
1391:
1386:
1381:
1370:
1368:
1364:
1363:
1361:
1360:
1355:
1350:
1345:
1340:
1335:
1330:
1325:
1320:
1315:
1310:
1305:
1299:
1297:
1293:
1292:
1290:
1289:
1284:
1279:
1278:
1277:
1267:
1266:
1265:
1255:
1250:
1245:
1240:
1235:
1230:
1229:
1228:
1218:
1213:
1212:
1211:
1206:
1196:
1195:
1194:
1183:
1181:
1177:
1176:
1171:
1169:
1168:
1161:
1154:
1146:
1139:
1138:
1126:Berkus, Josh.
1123:
1103:
1088:
1082:
1069:
1058:10.1.1.16.3195
1039:
1029:
1022:
1016:
1002:
1000:
997:
994:
993:
984:
959:
945:
931:
906:
903:. 23 May 2023.
892:
878:
865:
854:Techopedia.com
840:
839:
837:
834:
832:
829:
828:
827:
822:
817:
810:
807:
801:
798:
797:
796:
789:
773:
770:
764:
761:
744:
741:
720:
717:
697:data cleansing
671:
670:Disassociation
668:
666:
663:
653:
650:
645:
642:
625:
622:
608:
605:
593:
592:
583:
580:
579:
578:
571:
563:
560:
558:
555:
554:
553:
550:
540:
526:
520:
507:
505:AUTO_INCREMENT
501:
491:
484:
471:
458:
452:
446:
422:candidate keys
416:
415:
412:
409:
406:
403:
400:
396:
395:
392:
389:
386:
383:
380:
376:
375:
372:
369:
366:
363:
360:
356:
355:
352:
349:
346:
343:
340:
307:or SQL Server
289:AUTO_INCREMENT
283:or SQL Server
233:
230:
229:
228:
225:
222:
219:
216:
213:
204:Although Hall
173:rather than a
163:
162:
155:
152:
145:
137:
134:
77:
76:
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
1660:
1649:
1648:Data modeling
1646:
1644:
1641:
1640:
1638:
1623:
1615:
1613:
1605:
1603:
1595:
1594:
1591:
1585:
1582:
1580:
1577:
1575:
1572:
1570:
1567:
1565:
1562:
1560:
1557:
1555:
1552:
1550:
1547:
1545:
1542:
1540:
1537:
1535:
1532:
1531:
1529:
1525:
1519:
1516:
1514:
1511:
1509:
1506:
1504:
1501:
1500:
1498:
1494:
1488:
1485:
1483:
1480:
1478:
1475:
1473:
1470:
1468:
1465:
1463:
1460:
1458:
1455:
1453:
1450:
1448:
1445:
1444:
1442:
1438:
1432:
1429:
1427:
1424:
1422:
1419:
1417:
1414:
1412:
1409:
1407:
1404:
1402:
1399:
1397:
1394:
1390:
1387:
1385:
1382:
1380:
1377:
1376:
1375:
1372:
1371:
1369:
1365:
1359:
1356:
1354:
1353:Surrogate key
1351:
1349:
1346:
1344:
1341:
1339:
1338:Candidate key
1336:
1334:
1331:
1329:
1326:
1324:
1321:
1319:
1316:
1314:
1311:
1309:
1306:
1304:
1301:
1300:
1298:
1294:
1288:
1285:
1283:
1280:
1276:
1273:
1272:
1271:
1268:
1264:
1261:
1260:
1259:
1256:
1254:
1251:
1249:
1246:
1244:
1241:
1239:
1236:
1234:
1231:
1227:
1224:
1223:
1222:
1219:
1217:
1214:
1210:
1207:
1205:
1202:
1201:
1200:
1197:
1193:
1190:
1189:
1188:
1185:
1184:
1182:
1178:
1174:
1167:
1162:
1160:
1155:
1153:
1148:
1147:
1144:
1129:
1124:
1114:on 2008-01-30
1113:
1109:
1104:
1094:
1089:
1085:
1079:
1075:
1070:
1059:
1054:
1047:
1046:
1040:
1037:
1033:
1030:
1027:
1023:
1019:
1017:0-7204-0459-2
1013:
1009:
1004:
1003:
998:
988:
985:
973:
969:
963:
960:
955:
949:
946:
941:
935:
932:
927:
923:
922:
917:
916:Surrogate+key
910:
907:
902:
896:
893:
889:. 9 May 2024.
888:
882:
879:
875:
869:
866:
855:
851:
845:
842:
835:
830:
826:
823:
821:
818:
816:
813:
812:
808:
806:
799:
794:
790:
787:
786:
785:
782:
780:
771:
769:
762:
760:
755:statement or
750:
743:Normalization
742:
740:
737:
735:
734:candidate key
731:
726:
718:
716:
714:
709:
704:
700:
698:
693:
688:
686:
682:
677:
669:
665:Disadvantages
664:
662:
660:
651:
649:
643:
641:
639:
635:
634:Ruby on Rails
631:
624:Compatibility
623:
621:
619:
615:
606:
604:
601:
598:
589:
588:
587:
581:
576:
572:
569:
568:
567:
561:
556:
551:
549:
545:
541:
538:
534:
527:
525:
521:
517:AUTOINCREMENT
511:
508:
502:
499:
495:
492:
485:
475:
472:
469:IDENTITY(n,n)
462:
459:
456:
453:
450:
447:
444:
441:
440:
439:
436:
434:
430:
425:
423:
413:
410:
407:
404:
401:
398:
397:
393:
390:
387:
384:
381:
378:
377:
373:
370:
367:
364:
361:
358:
357:
353:
350:
347:
344:
341:
338:
337:
334:
332:
328:
324:
319:
317:
312:
302:
298:
294:
282:
275:
271:
267:
263:
258:
256:
251:
247:
243:
239:
231:
226:
223:
220:
217:
214:
211:
210:
209:
207:
202:
200:
199:surrogate key
195:
191:
187:
183:
178:
176:
175:storage model
172:
168:
167:Surrogate (1)
160:
156:
153:
150:
146:
143:
142:
141:
135:
133:
131:
129:
125:
120:
116:
112:
108:
104:
103:technical key
100:
96:
92:
88:
87:synthetic key
84:
83:surrogate key
73:
70:
62:
52:
48:
42:
41:
35:
30:
21:
20:
1352:
1131:. Retrieved
1116:. Retrieved
1112:the original
1096:. Retrieved
1073:
1062:. Retrieved
1044:
1035:
1032:Langefors, B
1025:
1007:
987:
976:. Retrieved
974:. 2017-02-02
971:
962:
948:
934:
919:
909:
895:
881:
868:
857:. Retrieved
853:
844:
803:
783:
775:
766:
753:CREATE TABLE
749:natural keys
746:
738:
722:
705:
701:
689:
675:
673:
655:
647:
627:
618:compound key
610:
602:
596:
594:
585:
575:foreign keys
565:
498:IBM Informix
437:
432:
428:
426:
419:
351:RowValidFrom
345:EmployeeName
339:SurrogateKey
330:
327:business key
320:
313:
259:
249:
235:
205:
203:
198:
193:
192:stores only
189:
179:
166:
164:
158:
148:
139:
127:
123:
118:
114:
110:
102:
99:factless key
98:
94:
90:
86:
82:
80:
65:
56:
37:
1622:WikiProject
1513:Replication
1401:Transaction
1343:Foreign key
1323:CAP theorem
1270:Multi-model
815:Natural key
730:natural key
607:Performance
486:SQL Server
414:2009-12-31
394:2011-12-31
374:2000-12-31
354:RowValidTo
342:BusinessKey
242:primary key
51:introducing
1637:Categories
1487:Query plan
1440:Components
1358:Unique key
1275:comparison
1209:comparison
1199:Relational
1192:comparison
1133:2006-12-03
1118:2008-01-19
1098:2006-12-03
1083:0201398141
1064:2022-12-02
978:2022-12-02
859:2020-02-21
831:References
692:outer join
652:Validation
644:Uniformity
591:separate).
557:Advantages
537:PostgreSQL
494:PostgreSQL
429:generating
411:2001-01-01
405:John Smith
391:1999-01-01
371:2000-01-01
365:John Smith
270:PostgreSQL
266:SQL Server
188:. Since a
171:data model
136:Definition
34:references
1496:Functions
1431:Partition
1258:In-memory
1216:Key–value
1053:CiteSeerX
836:Citations
685:C.J. Date
638:Hibernate
562:Stability
385:Bob Brown
194:currently
91:pseudokey
59:July 2009
1602:Category
1518:Sharding
1374:Relation
1348:Superkey
1303:Database
1296:Concepts
1034:(1968).
809:See also
548:Teradata
488:SEQUENCE
477:SEQUENCE
465:IDENTITY
382:P0000123
285:SEQUENCE
274:Informix
128:business
107:database
1612:Outline
1411:Trigger
1367:Objects
999:Sources
918:at the
676:meaning
533:IBM Db2
451:(GUIDs)
445:(UUIDs)
402:BOS0120
362:BOS0120
124:natural
105:) in a
47:improve
1426:Cursor
1384:column
1253:NewSQL
1080:
1055:
1014:
972:SQLite
614:b-tree
510:SQLite
503:MySQL
500:serial
474:Oracle
461:Sybase
457:(OIDs)
433:nature
281:Oracle
277:serial
262:Sybase
206:et al.
159:object
149:entity
115:object
111:entity
36:, but
1416:Index
1379:table
1282:Cloud
1248:NoSQL
1243:Graph
1180:Types
1049:(PDF)
725:index
546:) in
479:, or
321:In a
316:agile
293:MySQL
279:, an
236:In a
184:or a
130:) key
101:, or
1467:ODBC
1457:JDBC
1396:View
1333:Null
1328:CRUD
1308:ACID
1263:list
1226:list
1204:list
1078:ISBN
1012:ISBN
926:GFDL
793:UUID
535:and
515:(if
305:UUID
301:GUID
297:UUID
255:UUID
248:and
165:The
126:(or
85:(or
1462:XQJ
1389:row
636:or
544:DDL
531:in
496:or
467:OR
399:234
311:).
291:in
272:or
264:or
250:not
119:not
1639::
970:.
852:.
781:.
661:.
620:.
408:35
388:25
379:56
368:40
132:.
97:,
93:,
89:,
81:A
1165:e
1158:t
1151:v
1136:.
1121:.
1101:.
1086:.
1067:.
1020:.
981:.
942:.
862:.
795:.
577:.
539:.
359:1
299:/
72:)
66:(
61:)
57:(
43:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.