Quantum 数据库增加新表

本文介绍了如何在Quantum的OpenvSwitch插件中创建和引入ovs_qos_db.py模块,用于处理QoS相关数据。首先,创建这个模块,然后在ovs_db_v2.py中导入,接着通过软链接将模块添加到指定路径,最后重启quantum-server以应用更改。
摘要由CSDN通过智能技术生成

本文地址:http://blog.csdn.net/spch2008/article/details/9011321


1. 创建代码ovs_qos_db.py

'''
Created on 2013-6-3

@author: spch2008
'''

from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import exc
from quantum.db.models_v2 import model_base

class QoSPortBinding(model_base.BASEV2):
    __tablename__ = 'ovs_qos_port_binding'

    port_id = Column(String(20), primary_key=True)
    
    qos_id  = Column(String(20), primary_key=True)

    def __init__(self, port_id, qos_id):
        self.port_id = port_id
        self.qos_id  = qos_id

    def __repr__(self):
        return "<QoSPortBinding(%s, %s, %s)>" % (self.port_id, self.qos_id)

将代码置于/usr/share/pyshared/quantum/plugins/openvswitch# 中


2. 

假设我们有以下四个表: 1. students 表 - 包含所有学生的信息 | student_id | name | major | gender | age | |------------|----------|------------|--------|-----| | 1 | Alice | Computer Science | Female | 20 | | 2 | Bob | Mathematics | Male | 21 | | 3 | Charlie | Physics | Male | 19 | | 4 | Daisy | Biology | Female | 22 | | 5 | Emily | English | Female | 20 | 2. courses 表 - 包含所有课程的信息 | course_id | name | credit | |-----------|--------------|--------| | 1 | Calculus | 4 | | 2 | Linear Algebra | 3 | | 3 | Data Structures | 3 | | 4 | English Literature | 3 | | 5 | Quantum Mechanics | 4 | 3. student_courses 表 - 包含学生所选的课程的信息 | student_id | course_id | |------------|-----------| | 1 | 1 | | 1 | 2 | | 1 | 3 | | 2 | 1 | | 2 | 4 | | 3 | 2 | | 3 | 5 | | 4 | 3 | | 4 | 4 | | 4 | 5 | | 5 | 4 | | 5 | 5 | 4. professors 表 - 包含所有教授的信息 | professor_id | name | department | |--------------|----------|-------------| | 1 | Dr. Lee | Computer Science | | 2 | Dr. Kim | Mathematics | | 3 | Dr. Smith | Physics | | 4 | Dr. Chen | Biology | | 5 | Dr. Jones | English | 以下是一些例子: 1. 找出选了 Calculus 课程的学生的姓名和年龄 ``` SELECT students.name, students.age FROM students INNER JOIN student_courses ON students.student_id = student_courses.student_id INNER JOIN courses ON student_courses.course_id = courses.course_id WHERE courses.name = 'Calculus' ``` 2. 找出选了 Dr. Lee 教授课的学生的姓名和所选课程名称 ``` SELECT students.name, courses.name FROM students INNER JOIN student_courses ON students.student_id = student_courses.student_id INNER JOIN courses ON student_courses.course_id = courses.course_id INNER JOIN professors ON courses.professor_id = professors.professor_id WHERE professors.name = 'Dr. Lee' ``` 3. 找出每个专业的学生数 ``` SELECT major, COUNT(*) as num_students FROM students GROUP BY major ``` 4. 找出选修课程数超过 3 门的学生的姓名和所选课程数 ``` SELECT students.name, COUNT(*) as num_courses FROM students INNER JOIN student_courses ON students.student_id = student_courses.student_id GROUP BY students.student_id HAVING COUNT(*) > 3 ``` 5. 找出每个教授所教授的课程数量 ``` SELECT professors.name, COUNT(*) as num_courses FROM professors INNER JOIN courses ON professors.professor_id = courses.professor_id GROUP BY professors.professor_id ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值