Nested Sets Hierarchical Model | Evan Petersen

Total Page:16

File Type:pdf, Size:1020Kb

Nested Sets Hierarchical Model | Evan Petersen Nested Sets Hierarchical Model | Evan Petersen http://www.evanpetersen.com/item/nested-sets.html Programming Hacks Tutorials search... Tetszik 19 6 HOME ABOUT EVAN TUTORIALS LOG IN Home Programming Nested Sets Written by Evan Petersen on Thursday, 12 April 2012. Posted in Programming, Random JUST ANOTHER HIERARCHICAL MODEL Learn how to create a hierarchical structure optimized for fetching all child nodes in a highly efficient manner. In this tutorial, we’ll look into the pros and contras of using the Nested Set model to store our hierarchical data structure. Storing Hierarchical Structures with the Nested Set Model Creating a model that can store hierarchical data is not a simple task. What do I mean by hierarchical data? Imagine that you are trying to organize products into meaningful categories. For instance, you would have a few main categories: food, appliances, and electronics. You then want to sub-divide those categories into more specific groups and then divide those categories into more specific groups. This is fairly simple to map out on paper, but not so easy to place into a data table. Such is the case when attempting to represent hierarchical data, like products and categories, in a database. One such method for modeling this type of data is called Nested Sets. This tutorial will cover the concepts behind the nested set model and when it should be implemented. I'll begin by explaining the far simpler parent child model and progressing into the nested set model. Parent-Child Model Traditionally, hierarchical structures are modeled with a strict parent to child relationship. In the case of a tree, each node will have a unique ID and a parent ID. ID numbers have no meaningful relationship to the data that is contained by the node[1] other than serving as a unique identifier. The root[2] node will have a special value as its parent ID so as to signify that you have reached the root. Consider the following table and diagram: ID parentID Value 0-1Root 10 A 20 B 31 C 41 D 53 E 62 F 1 / 9 2012.06.22. 15:32 Nested Sets Hierarchical Model | Evan Petersen http://www.evanpetersen.com/item/nested-sets.html Who am I? My name is Evan Petersen and I work as a Programmer Each arrow represents a pointer to the parent node as defined by the ID, parentID, Value table. This parent-child at Dotcomjungle in Southern Oregon. Click here to learn relationship model is one of the most widely used and understood models for representing hierarchical more about me and this structures. Each node indicates what its ID is and who it is a child of (I.e. who its parent is). website The Problem: Clinical Study Data Entry On-demand access to live Unfortunately, this model becomes cumbersome when querying for ALL children of a given node. Let’s say, for reports. Medrio saves you time and money. instance, that we want to know the ID of every child under node with ID 1. By looking at our diagram, we can www.Medrio.com quickly report that nodes 3, 4, and 5 are all children of node 1. Using our table, however, the operation isn’t Számlázzon Ingyen Nálunk Gyorsan, Könnyen, Telepítés nearly as easy. Nélkül. Több mint 3700 Cég Már Használja Szamlazz.hu/online-szamlazas Querying for Children We begin by querying for all nodes whose Recent Comments parent ID is 1. In this case, we find that nodes 3 and 4 list node 1 as their parent (the value in magnificent submit, very the red arrows signifies the query number that informative. I'm wondering why the opposite experts of this we are currently performing). We then must sector don't notice this. You query for all nodes that list 3 or 4 as their should continue your... parent. As you can see, this would get out of hand quickly on larger datasets, resulting in hundreds if not thousands of database calls so web site promotion 09. June, 2012 | # that we can retrieve all children of a single node. Note how the number of queries This comment would be to say thanks, i dont comment necessary directly corresponds to the depth typically, but when i do it really (height) of the tree. The number of queries will is usually for some thing extremely great. always be 1+ the height of the tree that you are querying. lavyneill 27. May, 2012 | # Finally! This is just what I was looknig for. Nested Sets: our knight in shining armor! This is where the concept of nested sets comes in. Bear with me as it’s not as simple as the parent child relationship we discussed earlier. Rather than have a parent ID, we will be implementing our table with left and right values. Take a look at the table Pattie and the resulting data structure: 05. May, 2012 | # You can use sleep command to pause a bash scirpt.i=1while ID Left Right Value [ "$i" != "10" ];do i=`expr $i + 1` echo number $i sleep... 0 0 13 Root 118 A 2912B Auth 04. May, 2012 | # 2 / 9 2012.06.22. 15:32 Nested Sets Hierarchical Model | Evan Petersen http://www.evanpetersen.com/item/nested-sets.html on August 7, 2006of course, it 325 C isn't *that* weird that PDO is swleor. PDO is, as far as I can 467 D see it, more of a complete database... 534 E 61011F Ceyda 04. May, 2012 | # hey, i have a test on circuit ansyials on thrusday and im having difficulties in complex Whoa, what just happened? situations, for instints. can i select a node as... Alright, let’s take a step back and look at where the next set of numbers came from. The left and right values in a node represent a set of child nodes. In turn, each child node has a left and right ismail value that represent another set of children, hence the term Nested Sets. For instance, if I wanted to retrieve all 04. May, 2012 | # children of node A (ID 1), I would run a query similar to this: dear dr. yaz z. lii am about to start teaching ntwroek analysis to ug students of electrical and electronics engineering. thanks 1 SELECT * FROM `nodes` WHERE Left > '1' AND Right<'8'; ? for... This would return C, D and E, in a single query. Notice how no recursive step was applied. In a single query, we were able to retrieve all children of A. Narasimhamurthy 04. May, 2012 | # on August 7, 2006of course, it isn't *that* weird that PDO is Well that’s great, but how do we figure out the left and right values for an slewor. PDO is, as far as I can see it, more of a complete existing tree? database... Surprisingly enough, this isn’t too tricky to accomplish. Here’s a diagram showing how I computed the left and right values of each node: Jhon 04. May, 2012 | # The parent-child data structure Determining Left and Right works wonderfully for small sets. When you start getting values into high traffic websites with deep nesting... Begin at the top left arrow, starting your count from 0. When you pass a node, increment by one and list that number Evan Petersen 18. April, 2012 | # next to the node. If you are to the left of the node, the number represents the Why not use recursive CTEs against the parent-child left value. If you’re on the right, it model? represents the right value. Keep the simple (and normalized) parent-child data structure and get the... Brandon K 18. April, 2012 | # 3 / 9 2012.06.22. 15:32 Nested Sets Hierarchical Model | Evan Petersen http://www.evanpetersen.com/item/nested-sets.html Notice how any given leaf node’s left and right values only differ by 1 while nodes with children differ by at least 3 and then in increments of two. This can tell us a lot about a given node without performing additional queries. Alternative Representation Let’s look at this data structure in a way that’s a little more meaningful with respect to left and right values: With the nodes represented in this fashion, we can very easily see how the sets are nested and the depth of a given node (distance from the root). The number line on the bottom can be thought of as the one dimensional space in which all nodes are placed. Each node consumes a distance of 1 and has a buffer of at least one slot before another node is encountered. If we were to query again for all children of node A, we can think of the query operating like so: 1 SELECT * FROM `nodes` WHERE Left > '1' AND Right<'8'; ? Inserting Nodes Let’s try inserting a new node with value G just beneath the Root node. Take a look at the resulting table and diagram below: ID Left Right Value 0 0 15 Root 118 A 2912B 325 C 467 D 534 E 4 / 9 2012.06.22. 15:32 Nested Sets Hierarchical Model | Evan Petersen http://www.evanpetersen.com/item/nested-sets.html 61011F 71314G To insert the node as a direct child of another node, you need to allocate some space in the tree. To do so, retrieve the right value of the node you wish to insert under. In this case, the right value of the root was 13 (see previous diagram). To allocate the space, add 2 to all left and right values that are greater than or equal to 13.
Recommended publications
  • Nested Complexes and Their Polyhedral Realizations Andrei Zelevinsky
    Pure and Applied Mathematics Quarterly Volume 2, Number 3 (Special Issue: In honor of Robert MacPherson, Part 1 of 3 ) 655|671, 2006 Nested Complexes and their Polyhedral Realizations Andrei Zelevinsky To Bob MacPherson on the occasion of his 60th birthday 1. Introduction This note which can be viewed as a complement to [9], presents a self-contained overview of basic properties of nested complexes and their two dual polyhedral realizations: as complete simplicial fans, and as simple polytopes. Most of the results are not new; our aim is to bring into focus a striking similarity between nested complexes and associated fans and polytopes on one side, and cluster complexes and generalized associahedra introduced and studied in [7, 2] on the other side. First a very brief history (more details and references can be found in [10, 9]). Nested complexes appeared in the work by De Concini - Procesi [3] in the context of subspace arrangements. More general complexes associated with arbitrary ¯nite graphs were introduced and studied in [1] and more recently in [10]; these papers also present a construction of associated simple convex polytopes (dubbed graph associahedra in [1], and De Concini - Procesi associahedra in [10]). An even more general setup developed by Feichtner - Yuzvinsky in [6] associates a nested complex and a simplicial fan to an arbitrary ¯nite atomic lattice. In the present note we follow [5] and [9] in adopting an intermediate level of generality, and studying the nested complexes associated to building sets (see De¯nition 2.1 below). Feichtner and Sturmfels in [5] show that the simplicial fan associated to a building set is the normal fan of a simple convex polytope, while Postnikov in [9] gives an elegant construction of this polytope as a Minkowski sum of simplices.
    [Show full text]
  • COMPLEXES of TREES and NESTED SET COMPLEXES 11 K+2 and Congruent to 2 Mod K, and at Least One Internal Edge
    COMPLEXES OF TREES AND NESTED SET COMPLEXES EVA MARIA FEICHTNER Abstract. We exhibit an identity of abstract simplicial complexes between the well- studied complex of trees Tn and the reduced minimal nested set complex of the partition lattice. We conclude that the order complex of the partition lattice can be obtained from the complex of trees by a sequence of stellar subdivisions. We provide an explicit cohomology basis for the complex of trees that emerges naturally from this context. Motivated by these results, we review the generalization of complexes of trees to complexes of k-trees by Hanlon, and we propose yet another, in the context of nested set complexes more natural, generalization. 1. Introduction In this article we explore the connection between complexes of trees and nested set complexes of specific lattices. Nested set complexes appear as the combinatorial core in De Concini-Procesi wonderful compactifications of arrangement complements [DP1]. They record the incidence struc- ture of natural stratifications and are crucial for descriptions of topological invariants in combinatorial terms. Disregarding their geometric origin, nested set complexes can be defined for any finite meet-semilattice [FK]. Interesting connections between seemingly distant fields have been established when relating the purely oder-theoretic concept of nested sets to various contexts in geometry. See [FY] for a construction linking nested set complexes to toric geometry, and [FS] for an appearance of nested set complexes in tropical geometry. This paper presents yet another setting where nested set complexes appear in a mean- ingful way and, this time, contribute to the toolbox of topological combinatorics and combinatorial representation theory.
    [Show full text]
  • 3.2 Supplement
    Introduction to Functional Analysis Chapter 3. Major Banach Space Theorems 3.2. Baire Category Theorem—Proofs of Theorems June 12, 2021 () Introduction to Functional Analysis June 12, 2021 1 / 6 Table of contents 1 Proposition 3.1. The Nested Set Theorem 2 Proposition 3.2. Baire’s Theorem 3 Corollary 3.3. Dual Form of Baire’s Theorem () Introduction to Functional Analysis June 12, 2021 2 / 6 Next, suppose both x, y ∈ Fn for all n ∈ N. Then kx − yk ≤ diam(Fn) for all n ∈ N and since diam(Fn) → 0, then kx − yk = 0, or x = y, establishing uniqueness. Proposition 3.1. The Nested Set Theorem Proposition 3.1. The Nested Set Theorem Proposition 3.1. The Nested Set Theorem. Given a sequence F1 ⊇ F2 ⊇ F3 ⊇ · · · of closed nonempty sets in a Banach space such that diam(Fn) → 0, there is a unique point that is in Fn for all n ∈ N. Proof. Choose some xn ∈ Fn for each n ∈ N. Since diam(Fn) → 0, for all ε > 0 there exists N ∈ N such that if n ≥ N then diam(Fn) < ε. Since the Fn are nested, then for all m, n ≥ N, we have kxn − xmk < ε, and so (xn) is a Cauchy sequence. Since we are in a Banach space, there is x such that (xn) → x. Now for n ∈ N, the sequence (xn, xn+1, xn+2,...) ⊆ Fn is convergent to x and since Fn is closed then Fn = F n. So x ∈ Fn by Theorem 2.2.A(iii). That is x ∈ Fn for all n ∈ N.
    [Show full text]
  • Complexes of Trees and Nested Set Complexes
    Pacific Journal of Mathematics COMPLEXES OF TREES AND NESTED SET COMPLEXES EVA MARIA FEICHTNER Volume 227 No. 2 October 2006 PACIFIC JOURNAL OF MATHEMATICS Vol. 227, No. 2, 2006 COMPLEXES OF TREES AND NESTED SET COMPLEXES EVA MARIA FEICHTNER We exhibit an identity of abstract simplicial complexes between the well- studied complex of trees Tn and the reduced minimal nested set complex of the partition lattice. We conclude that the order complex of the partition lattice can be obtained from the complex of trees by a sequence of stellar subdivisions. We provide an explicit cohomology basis for the complex of trees that emerges naturally from this context. Motivated by these results, we review the generalization of complexes of trees to complexes of k-trees by Hanlon, and we propose yet another generalization, more natural in the context of nested set complexes. 1. Introduction In this article we explore the connection between complexes of trees and nested set complexes of specific lattices. Nested set complexes appear as the combinatorial core in De Concini and Pro- cesi’s [1995] wonderful compactifications of arrangement complements. They record the incidence structure of natural stratifications and are crucial for descrip- tions of topological invariants in combinatorial terms. Disregarding their geometric origin, nested set complexes can be defined for any finite meet-semilattice [Feicht- ner and Kozlov 2004]. Interesting connections between seemingly distant fields have been established when relating the purely order-theoretic concept of nested sets to various contexts in geometry. See [Feichtner and Yuzvinsky 2004] for a construction linking nested set complexes to toric geometry, and [Feichtner and Sturmfels 2005] for an appearance of nested set complexes in tropical geometry.
    [Show full text]
  • Submodularity Helps in Nash and Nonsymmetric Bargaining Games∗
    Submodularity Helps in Nash and Nonsymmetric Bargaining Games∗ Deeparnab Chakrabartyy Gagan Goelz Vijay V. Vazirani x Lei Wang{ Changyuan Yuk Abstract Motivated by the recent work of [Vaz12], we take a fresh look at understanding the quality and robustness of solutions to Nash and nonsymmetric bargaining games by subjecting them to several stress tests. Our tests are quite basic, e.g., we ask whether the solutions are computable in polynomial time, and whether they have certain properties such as efficiency, fairness, desirable response when agents change their disagreement points or play with a subset of the agents. Our main conclusion is that imposing submodularity, a natural economies of scale condition, on Nash and nonsymmetric bargaining games endows them with several desirable properties. ∗This work was supported in part by the National Natural Science Foundation of China Grant 60553001, and the National Basic Research Program of China Grant 2007CB807900,2007CB807901. A preliminary version of this appeared in the Proceedings of the 4th Workshop on Internet and Network Economics (2008, Shanghai). yCurrent address: Microsoft Research, Bangalore, India 560001. Email: [email protected]. Work done as a graduate student at Georgia Tech. zCurrent address: Google Inc., NYC, New York. Email: [email protected]. Work done as a graduate student at Georgia Tech. xCollege of Computing, Georgia Tech, Atlanta, GA 30332{0280. Email: [email protected] {Current Address: Microsoft Corporation, Bellevue, WA 98004 Email: [email protected]. Work done as a graduate student at Georgia Tech. kInstitute for Theoretical Computer Science, Tsinghua University 1 1 Introduction Bargaining is perhaps the oldest situations of conflict of interest, and since game theory develops solution concepts for negotiating in such situations, it is perhaps not surprising that bargaining was first modeled as a game in John Nash's seminal 1950 paper [Nas50], using the framework of game theory given a few years earlier by von Neumann and Morgenstern [vNM44].
    [Show full text]
  • Generalized Inductive Definitions in Constructive Set Theory
    Generalized Inductive Definitions in Constructive Set Theory Michael Rathjen∗ Department of Mathematics, Ohio State University Columbus, OH 43210, U.S.A. [email protected] February 17, 2010 Abstract The intent of this paper is to study generalized inductive definitions on the basis of Constructive Zermelo-Fraenkel Set Theory, CZF. In theories such as classical Zermelo- Fraenkel Set Theory, it can be shown that every inductive definition over a set gives rise to a least and a greatest fixed point, which are sets. This principle, notated GID, can also be deduced from CZF plus the full impredicative separation axiom or CZF augmented by the power set axiom. Full separation and a fortiori the power set axiom, however, are entirely unacceptable from a constructive point of view. It will be shown that while CZF + GID is stronger than CZF, the principle GID does not embody the strength of any of these axioms. CZF + GID can be interpreted in Feferman's Explicit Mathematics with a least fixed point principle. The proof-theoretic strength of the latter theory is expressible by means of a fragment of second order arithmetic. MSC:03F50, 03F35 Keywords: Constructive set theory, Martin-L¨oftype theory, inductive definitions, proof-theoretic strength 1 Introduction In set theory, a monotone inductive definition over a given set A is derived from a mapping Ψ: P(A) !P(A) that is monotone, i.e., Ψ(X) ⊆ Ψ(Y ) whenever X ⊆ Y ⊆ A. Here P(A) denotes the class of all subsets of A. The set inductively defined by Ψ, Ψ1, is the smallest set Z such that ∗This material is based upon work supported by the National Science Foundation under Award No.
    [Show full text]
  • Fast Exact Inference for Recursive Cardinality Models
    Fast Exact Inference for Recursive Cardinality Models Daniel Tarlow, Kevin Swersky, Richard S. Zemel, Ryan P. Adams, Brendan J. Frey Dept. of Computer Science Sch. of Eng. & Appl. Sci. Prob. & Stat. Inf. Group University of Toronto Harvard University University of Toronto fdtarlow,kswersky,[email protected] [email protected] [email protected] Abstract celebrated result is the ability of the \graph cuts" algo- rithm to exactly find the maximum a posteriori (MAP) Cardinality potentials are a generally use- assignment in any pairwise graphical model with bi- ful class of high order potential that affect nary variables, where the internal potential structure probabilities based on how many of D bi- is restricted to be submodular. Along similar lines, nary variables are active. Maximum a poste- polynomial-time algorithms can exactly compute the riori (MAP) inference for cardinality poten- partition function in an Ising model if the underlying tial models is well-understood, with efficient graph is planar (Fisher, 1961). computations taking O(D log D) time. Yet Extensions of these results have been a topic of much efficient marginalization and sampling have recent interest, particularly for the case of MAP in- not been addressed as thoroughly in the ma- ference. Gould (2011) shows how to do exact MAP chine learning community. We show that inference in models with certain higher order terms there exists a simple algorithm for comput- via graph cut-like algorithms, and Ramalingham et al. ing marginal probabilities and drawing ex- (2008) give results for multilabel submodular models. act joint samples that runs in O(D log2 D) Tarlow et al.
    [Show full text]
  • A Graph-Theoretic Method for Organizing Overlapping Clusters Into Trees, Multiple Trees, Or Extended Trees
    Joumal of Classification 12:283-313 (1995) A Graph-Theoretic Method for Organizing Overlapping Clusters into Trees, Multiple Trees, or Extended Trees J. Douglas CarroU James E. Corter Rutgers University Teachers CoUege, Columbia University Abstract: A clustering that consists of a nested set of clusters may be represented graphically by a tree. In contrast, a clustedng that includes non-nested ovedapping clusters (sometimes termed a "nonhierarchical' ' cluste¡ cannot be represented by a tree. Graphical representations of such non-nested ovedapping clusterings are usuaUy complex and difficult to interpret. Carroll and Pruzansky (1975, 1980) sug- gested representing non-nested clusterings with multiple ultramet¡ or additive trees. Corter and Tversky (1986) introduced the extended tree (EXTREE) model, which represents a non-nested structure asa tree plus ovedapping clusters that ate represented by marked segments in the tree. We show here that the problem of finding a nested (i.e., tree-structured) set of clusters in ah ovedapping clustering can be reformulated as the problem of finding a clique in a graph. Thus, clique- finding algo¡ can be used to identify sets of clusters in the solution that can be represented by trees. This formulation provides a means of automaticaUy con- structing a multiple tree or extended tree representation of any non-nested cluster- ing. The method, called "clustrees", is applied to several non-nested overlapping clusterings de¡ using the MAPCLUS program (Arabie and Carroll 1980). Keywords: Overlapping clustering; Ultrametric; Additive tree; Extended tree; Multiple trees; Graph; Clique; Proximities. Authors' addresses: Please address correspondence to: James Corter, Box 41, Teachers College, Columbia University, New York, NY 10027, USA.
    [Show full text]
  • When Is a Right Orderable Group Locally Indicable?
    PROCEEDINGS OF THE AMERICAN MATHEMATICAL SOCIETY Volume 128, Number 3, Pages 637{641 S 0002-9939(99)05534-3 Article electronically published on October 25, 1999 WHEN IS A RIGHT ORDERABLE GROUP LOCALLY INDICABLE? PATRIZIA LONGOBARDI, MERCEDE MAJ, AND AKBAR RHEMTULLA (Communicated by Ronald M. Solomon) Abstract. If a group G has an ascending series 1 = G0 G1 Gρ =G ≤ ≤···≤ of subgroups such that for each ordinal α, Gα C G,andGα+1=Gα has no non- abelian free subsemigroup, then G is right orderable if and only if it is locally indicable. In particular if G is a radical-by-periodic group, then it is right orderable if and only if it is locally indicable. 1. Introduction x Recall that a group G is said to be locally indicable if every finitely generated non-trivial subgroup of G has an infinite cyclic quotient. Such groups are right orderable, as was shown by R.G. Burns and V.W. Hale in [2]. On the other hand, a right orderable group need not be locally indicable as was shown by G.M. Bergman in [1]. It was shown in [9] that a finite extension of a polycyclic group is right orderable only if it is locally indicable. This result was extended to groups which are finite extensions of solvable groups by I.M. Chiswell and P. Kropholler in [3] and to the class of periodic extensions of radical groups by V. M. Tararin in [10]. The purpose of this paper is to show that if a group G has a normal ascending series 1 = G G G = G of subgroups such that for each ordinal 0 ≤ 1 ≤ ··· ≤ ρ α<ρ; Gα+1=Gα has no non-abelian free subsemigroup, then G is right orderable only if it is locally indicable.
    [Show full text]
  • Real Analysis (4Th Edition)
    Preface The first three editions of H.L.Royden's Real Analysis have contributed to the education of generations of mathematical analysis students. This fourth edition of Real Analysis preserves the goal and general structure of its venerable predecessors-to present the measure theory, integration theory, and functional analysis that a modem analyst needs to know. The book is divided the three parts: Part I treats Lebesgue measure and Lebesgue integration for functions of a single real variable; Part II treats abstract spaces-topological spaces, metric spaces, Banach spaces, and Hilbert spaces; Part III treats integration over general measure spaces, together with the enrichments possessed by the general theory in the presence of topological, algebraic, or dynamical structure. The material in Parts II and III does not formally depend on Part I. However, a careful treatment of Part I provides the student with the opportunity to encounter new concepts in a familiar setting, which provides a foundation and motivation for the more abstract concepts developed in the second and third parts. Moreover, the Banach spaces created in Part I, the LP spaces, are one of the most important classes of Banach spaces. The principal reason for establishing the completeness of the LP spaces and the characterization of their dual spaces is to be able to apply the standard tools of functional analysis in the study of functionals and operators on these spaces. The creation of these tools is the goal of Part II. NEW TO THE EDITION This edition contains 50% more exercises than the previous edition Fundamental results, including Egoroff s Theorem and Urysohn's Lemma are now proven in the text.
    [Show full text]
  • CS 173 Lecture 8: Set Theory (I)
    CS 173 Lecture 8: Set Theory (I) Jos´eMeseguer University of Illinois at Urbana-Champaign 1 Preliminary Notions about Sets Intuitively, A set is an unordered collection of objects Given any set, say A, the objects belonging to it are called its elements. The property of an object a being an element of set A is written a P A. Such a property is called set membership, and the simbol P is called the membership predicate. We read a P A as \a belongs to A" or \a in A" or \a is an element of A." Objects Acceptable as Set Elements. Any precisely specified object can be an element of a set. For example, objects such as: { any number is N, Z, Q, or R { a truth value like T or F { any symbol such as an ASCII character, or a standard alphabet letter, or a Greek letter, or a Hebrew letter { any data structure such as, for example, a pair like p2; 3{17q, a triple like pa; b; cq, or an n-tuple like pa1; : : : ; anq { any set 1 is also an object that can be an element of another set. can all be elements of sets. The only general requirements about such objects are: 1. any object should be precisely specified 2. equality between such objects should also be precisely specified. Examples: 1{2 “ 2{4, a ­“ b, p1{2; 2{10q “ p2{4; 1{5q, a ­“ pa; 7q. Only Elements Matter. As we shall see, A set A is completely determined by its elements. 1 For set theory buffs: objects that are not sets are technically called urelements, coming from the German for \primitive elements." It turns out that it is possible to do all of set theory without using any such urelements, so that sets are the only objects used: amazingly enough, everything can be built up as a set, literally out of nothing, i.e., out of the empty set H.
    [Show full text]
  • Trees and Other Hierarchies in Mysql
    Get It Done With MySQL 5&Up, Chapter 20. Copyright © Peter Brawley and Arthur Fuller 2018. All rights reserved. TOC Previous Next Trees and Other Hierarchies in MySQL Graphs and SQL Edge list Edge-list model of a tree CTE edge list treewalk Draw the tree Nested sets model of a tree Edge list model of a network Parts explosions Most non-trivial data is hierarchical. Customers have orders, which have line items, which refer to products, which have prices. Population samples have subjects, who take tests, which give results, which have sub-results and norms. Web sites have pages, which have links, which collect hits across dates and times. These are hierarchies of tables. The number of tables limits the number of JOINs needed to walk the tree. For such queries, conventional SQL is an excellent tool. But when tables map a family tree, or a browsing history, or a bill of materials, table rows relate hierarchically to other rows in the same table. We no longer know how many JOINs we need to walk the tree. We need a different data model. That model is the graph (Fig 1), which is a set of nodes (vertices) and the edges (lines or arcs) that connect them. This chapter is about how to model and query graphs in a MySQL database. Graph theory is a branch of topology, the study of geometric relations that aren't changed by stretching and compression—rubber sheet geometry, some call it. Graph theory is ideal for modelling hierarchies—like family trees, browsing histories, search trees, Bayesian networks and bills of materials— whose shape and size we can't know in advance.
    [Show full text]